Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

modify_lang

Recursively modify a language object


Description

Recursively modify a language object

Usage

modify_lang(x, f, ...)

Arguments

x

object to modify: should be a call, expression, function or list of the above.

f

function to apply to leaves

...

other arguments passed to f

Examples

a_to_b <- function(x) {
  if (is.name(x) && identical(x, quote(a))) return(quote(b))
  x
}
examples <- list(
  quote(a <- 5),
  alist(a = 1, c = a),
  function(a = 1) a * 10,
  expression(a <- 1, a, f(a), f(a = a))
)
modify_lang(examples, a_to_b)
# Modifies all objects called a, but doesn't modify arguments named a

pryr

Tools for Computing on the Language

v0.1.4
GPL-2
Authors
Hadley Wickham [aut, cre], R Core team [ctb] (Some code extracted from base R)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.