[Rd] Create an environment and assign objects to it in one go?
Gabor Grothendieck
ggrothendieck at gmail.com
Thu Mar 10 14:53:53 CET 2011
On 3/10/11, Henrik Bengtsson <hb at biostat.ucsf.edu> wrote:
> Hi,
>
> I've just created:
>
> newEnvEval <- function(..., hash=FALSE, parent=parent.frame(), size=29L) {
> envir <- new.env(hash=hash, parent=parent, size=size);
> evalq(..., envir=envir);
> envir;
> } # newEnvEval()
>
> so that I can create an environment and assign objects to it in one go, e.g.
>
> env <- newEnvEval({ a <- 1; b <- 2; });
> print(env$a);
>
> Does this already exists somewhere?
>
> /Henrik
>
You can do this:
e <- as.environment(list(a = 1, b = 2))
e$a; e$b
or since proto objects are environments (but the $ has slightly
different semantics when applied to functions):
library(proto)
p <- proto(a = 1, b = 2, expr = { c <- 3 })
p$a; p$b; p$c
--
Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at gmail.com
More information about the R-devel
mailing list