On 01/09/2010 7:03 PM, Vadim Ogranovich wrote:
Dear R-users,

Is there a way to test whether a particular environment e is equal to 
emtyenv(), or for that sake whether two environments e1 and e2 are equal?

I tried a couple of ways to compare environments, but neither seem to work:

e1 <- new.env()
e2 <- new.env()
e1 == e2
Error in e1 == e2 :
  comparison (1) is possible only for atomic and list types
all.equal(e1, e2)
[1] TRUE
all.equal(e1, emptyenv())
[1] TRUE

My ultimate goal is to make a list of all variables in the lexical scope 
(enclosure?) of a function FUN. So I thought I'd start with environment(FUN) 
and apply parent.env() until I reach emptyenv(). But for this to work I need to 
be able to detect that I reached emptyenv().

identical(e1, e2) should give the right answer, assuming you want e1 and e2 to test as different.

Duncan Murdoch

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to