eval {base} | R Documentation |
This function evaluates the expression expr
argument in the
environment specified by envir
and returns the computed value. If
envir
is not specified, then
sys.frame(sys.parent())
, the environment where the
call to eval
was made is used.
This allows you to assign complicated expressions to symbols and then
evaluate them. If you want to evaluate expr
in envir
then
you must wrap a call to expression
around it.
eval(expr, envir=sys.frame(sys.parent()))
expr |
object of mode |
envir |
the |
expression
, sys.frame
, environment
.
eval(2 ^ 2 ^ 3)
mEx <- expression(2^2^3); mEx; 1 + eval(mEx)
eval({ xx <- pi; xx^2}) ; xx
ev <- function() {
e1 <- sys.frame(sys.parent())
## Evaluate a in e1
aa <- eval(expression(a),e1)
## evaluate the expression bound to a in e1
a <- expression(x+y)
list(aa = aa, eval = eval(a, e1))
}
tst.ev <- function(a = 7) { x <- pi; y <- 1; ev() }
tst.ev()#-> aa : 7, eval : 4.14