[Rd] attributes of environments
murdoch at stats.uwo.ca
Wed Jul 5 12:45:27 CEST 2006
On 7/4/2006 11:12 PM, Gabor Grothendieck wrote:
> In the code below, e is an environment which we copy to f and then
> add attributes to e. Now f winds up with the same attributes.
> In other words it seems that the attributes are a property of the
> environment itself and not of the variable. Thus it appears we
> cannot have two environment variables that correspond to the
> original environment but with different attributes.
> I can understand if we changed a component of e then
> f would reflect that too but I am not sure that this is also
> desirable for attributes as they are not "in" the environment.
> Is that desirable? Is it a bug? No other class works that way
> AFAIK. Comments?
I'm not sure about whether this is desirable or a bug, but environments
are special, in that they are among the very few objects treated as
references. In your example, adding a variable to e will also make it
visible in f.
>> e <- new.env()
>> f <- e
>> attr(e, "X") <- "Y" # X is an attribute of e
>> f # f gets the same attribute !!!
> <environment: 0x01a577f0>
>  "Y"
>> R.version.string # Windows XP
>  "R version 2.4.0 Under development (unstable) (2006-07-04 r38480)"
> R-devel at r-project.org mailing list
More information about the R-devel