body {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)

[Package base version 2.8.1 Index]