Re: [R] assign / environment side effect on R 2.4.0

From: Thomas Petzoldt <thpe_at_hhbio.wasser.tu-dresden.de>
Date: Sat 24 Jun 2006 - 01:35:42 EST

Sorry,

the posted example had the side effect on all platforms (correctly: R 2.2.1/Windows, 2.3.1/Linux, 2.4.0/Windows), but in the following corrected example the behavior of 2.4.0 differs from the older versions.

The only difference between the "wrong" and the "new" example is L[["test"]] vs. L$test in the assign.

Thomas P.

envfun <- function(L) {
# L <- as.list(unlist(L))
  p <- parent.frame()
  assign("test", L[["test"]], p) ## [["test"]] instead of $test   environment(p[["test"]]) <- p
}

solver <- function(L) {
  envfun(L)
  # some other stuff
}

L <- list(test = function() 1 + 2)

e1 <- environment(L$test)
solver(L)
e2 <- environment(L$test)

print(e1)
print(e2)



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sat Jun 24 01:42:47 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Tue 27 Jun 2006 - 02:12:41 EST.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.