body                  package:base                  R Documentation

Access to and Manipulation of the Body of a Function

Description:

     Get or set the body of a function.

Usage:

     body(fun = sys.function(sys.parent()))
     body(fun, envir = environment(fun)) <- value

Arguments:

     fun: a function object, or see 'Details'.

   envir: environment in which the function should be defined.

   value: an object, usually a language object: see section 'Value'.

Details:

     For the first form, 'fun' can be a character string naming the
     function to be manipulated, which is searched for from the parent
     environment.  If it is not specified, the function calling 'body'
     is used.

     To set the value to a list call the replacement function with
     'value' a length-one list containing the desired value.

Value:

     'body' returns the body of the function specified.  This is
     normally a language object, most often a call to '{', but it can
     also be an object (e.g. 'pi') to be the return value of the
     function.

     The replacement form sets the body of a function to the object on
     the right hand side, and (potentially) resets the environment of
     the function.  If 'value' is of class '"expression"' or a
     length-one list, the first element is used as the body.  For
     expressions (but not lists) any additional elements are ignored,
     with a warning.

See Also:

     'alist', 'args', 'function'.

Examples:

     body(body)
     f <- function(x) x^5
     body(f) <- expression(5^x)
     ## or equivalently  body(f) <- list(quote(5^x))
     f(3) # = 125
     body(f)

