On Wed, 2012-03-21 at 22:01 +0000, William Dunlap wrote: > Wouldn't within.environment be identical to with.environment? > > e <- new.env() > > with(e, { One <- 1 ; Two <- 2+2i ; Theee <- One + Two }) > > objects(e) > [1] "One" "Theee" "Two" > It might make the transition between lists and environments > simpler if within.environment existed. > > Bill Dunlap > Spotfire, TIBCO Software > wdunlap tibco.com
One doesn't normally think of `with()` as changing it's `data` argument, which might be one reason the connection to `with.environment()` was not made here. > d <- data.frame() > with(d, { + A <- 1:3 + B <- 1:3 + }) > d data frame with 0 columns and 0 rows The behaviour of `with.environment()` makes sense once you think about it as there is only one environment `e` (from your example), and when it is updated during the call to `with()` it isn't a copy that is being updated but the real thing. So I can see why it was overlooked. G > > > -----Original Message----- > > From: r-devel-boun...@r-project.org [mailto:r-devel-boun...@r-project.org] > > On Behalf > > Of Richard Cotton > > Sent: Wednesday, March 21, 2012 2:51 PM > > To: r-devel@r-project.org > > Subject: [Rd] Why is there no within.environment function? > > > > If I want to assign some variables into an environment, it seems > > natural to do something like > > > > e <- new.env() > > within(e, > > { > > x <- 1:5 > > y <- runif(5) > > } > > ) > > > > This throws an error, since within.environment doesn't exist. I > > realise I can work around it using > > > > as.environment(within(as.list(e), > > { > > x <- 1:5 > > y <- runif(5) > > } > > )) > > > > Just wondering why I can't use within directly with environments. > > > > -- > > 4dpiecharts.com > > > > ______________________________________________ > > R-devel@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel -- %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% Dr. Gavin Simpson [t] +44 (0)20 7679 0522 ECRC, UCL Geography, [f] +44 (0)20 7679 0565 Pearson Building, [e] gavin.simpsonATNOSPAMucl.ac.uk Gower Street, London [w] http://www.ucl.ac.uk/~ucfagls/ UK. WC1E 6BT. [w] http://www.freshwaters.org.uk %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~% ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel