fn_body()
is a simple wrapper around base::body()
. It always
returns a \{
expression and throws an error when the input is a
primitive function (whereas body()
returns NULL
). The setter
version preserves attributes, unlike body<-
.
fn_body(fn = caller_fn()) fn_body(fn) <- value
fn | A function. It is lookep up in the calling frame if not supplied. |
---|---|
value | New formals or formals names for |
# fn_body() is like body() but always returns a block: fn <- function() do() body(fn) #> do() fn_body(fn) #> { #> do() #> } # It also throws an error when used on a primitive function: try(fn_body(base::list)) #> Error : `fn` is not a closure