Rev 56186 | Rev 66444 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/base/man/body.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2011 R Core Team% Distributed under GPL 2 or later\name{body}\alias{body}\alias{body<-}\title{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{\item{fun}{a function object, or see \sQuote{Details}.}\item{envir}{environment in which the function should be defined.}\item{value}{an object, usually a language object: see section\sQuote{Value}.}}\details{For the first form, \code{fun} can be a character stringnaming the function to be manipulated, which is searched for from theparent frame. If it is not specified, the function calling\code{body} is used.The bodies of all but the simplest are braced expressions, that iscalls to \code{\{}: see the \sQuote{Examples} section for how tocreate such a call.}\value{\code{body} returns the body of the function specified. This isnormally a language object, most often a call to \code{\{}, but it canalso be an object (e.g. \code{pi}) to be the return value of the function.The replacement form sets the body of a function to theobject on the right hand side, and (potentially) resets theenvironment of the function. If \code{value} is of class\code{"\link{expression}"} the first element is used as the body: anyadditional elements are ignored, with a warning.}\seealso{\code{\link{alist}},\code{\link{args}},\code{\link{function}}.}\examples{body(body)f <- function(x) x^5body(f) <- quote(5^x)## or equivalently body(f) <- expression(5^x)f(3) # = 125body(f)## creating a multi-expression bodye <- expression(y <- x^2, return(y)) # or a listbody(f) <- as.call(c(as.name("{"), e))ff(8)}\keyword{programming}