Re: [Rd] The default behaviour of a missing entry in an environment

From: Gabor Grothendieck <ggrothendieck_at_gmail.com>
Date: Fri, 13 Nov 2009 19:26:44 -0500

On Fri, Nov 13, 2009 at 7:21 PM, Duncan Murdoch <murdoch_at_stats.uwo.ca> wrote:
> On 13/11/2009 6:39 PM, Gabor Grothendieck wrote:
>>
>> Note that one should use inherits = FALSE argument on get and exists
>> to avoid returning objects from the parent, the parent of the parent,
>> etc.
>
> I disagree.  Normally you would want to receive those objects.  If you
> didn't, why didn't you set the parent of the environment to emptyenv() when
> you created it?
>

$ does not look into the parent so if you are trying to get those semantics you must use inherits = FALSE.

elev1">> x <- 3
> e <- new.env()
> "x" %in% names(e)


[1] FALSE
> get("x", e) # oops

[1] 3



R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Sat 14 Nov 2009 - 00:30:19 GMT

This archive was generated by hypermail 2.2.0 : Sat 14 Nov 2009 - 12:10:24 GMT