[R] How to use current value of variable in function definition?
Allan Engelhardt
allane at cybaea.com
Thu Jul 2 18:46:44 CEST 2009
Must be the heat or something but I can't get my brain into gear and
figure out how to get something like
if (1) { c <- 1; foo <- function () print(c); }
c <- 2
foo()
to print 1, not 2. (The real life example is a little more complex, but
you get the idea. I don't want the variable c in the function
definition, I want its value at that time.)
The only thing I have been able to come up with is something like
if (1) foo <- (function () { c <- 1; return(function () print(c)) })()
c <- 2
foo()
# [1] 1
but that just hurts. Please make the pain go away.
Can someone wake up my brain?
Allan.
More information about the R-help
mailing list