Despite the spirited arguments of various R-core folks
who feel that mle() doesn't need a "data" argument, and
that users would be better off learning to deal with function
closures, I am *still* trying to make such things work
in a reasonably smooth fashion ...

  Is there a standard idiom for "merging" environments?
i.e., suppose a function has an environment that I want
to preserve, but _add_ the contents of a data list --
would something like this do it? Is there a less ugly
way?

x <- 0
y <- 1
z <- 2

f <- function() {
    x+y+z
}

f2 <- function(fun,data) {
    L <- ls(pos=environment(fun))
    mapply(assign,names(data),data,
                     MoreArgs=list(envir=environment(fun)))
    print(ls(pos=environment(fun)))
}

f2(f,list(a=1))


Attachment: signature.asc
Description: OpenPGP digital signature

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to