modify_lang {pryr} | R Documentation |
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 |
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
[Package pryr version 0.1.6 Index]