best practice(s) for retrieving a local variable from a closure
On Fri, Apr 8, 2011 at 9:48 PM, Benjamin Tyner <btyner at gmail.com> wrote:
Greetings,
Say I have defined
?mp <- function(a) function(x) x^a
?f2 <- mp(2)
and I would like to retrieve the "a" which is local to f2. Two options come
to mind;
?get("a", envir=environment(f2))
?eval(substitute(a), environment(f2))
I'm curious if one of these is preferred over the other in terms of
efficiency, robustness, aesthetics, etc. Or perhaps someone can share
another way to skin this cat, besides wrappers around eval() like
?evalq(a, environment(f2))
?with(environment(f2), a)
Also, I'd like to confirm that I have used the correct terminology in the
subject line, that "a" is a local variable with respect to f2, which is a
closure?
Solutions involving eval tend to be less preferred. "a" is termed a free variable of f2.
Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com