as_function {rlang} | R Documentation |
as_function()
transform objects to functions. It fetches
functions by name if supplied a string or transforms formulas to
function.
as_closure()
first passes its argument to as_function()
. If
the result is a primitive function, it regularises it to a proper
closure (see is_function()
about primitive functions).
as_function(x, env = caller_env()) is_lambda(x) as_closure(x, env = caller_env())
x |
A function or formula. If a function, it is used as is. If a formula, e.g. |
env |
Environment in which to fetch the function in case |
f <- as_function(~ . + 1) f(10) # Functions created from a formula have a special class: is_lambda(f) is_lambda(as_function(function() "foo")) # Primitive functions are regularised as closures as_closure(list) as_closure("list") # Operators have `.x` and `.y` as arguments, just like lambda # functions created with the formula syntax: as_closure(`+`) as_closure(`~`)