From rgentlem at fhcrc.org  Sun Oct 15 22:15:41 2006
From: rgentlem at fhcrc.org (Robert Gentleman)
Date: Sun, 15 Oct 2006 13:15:41 -0700
Subject: [Rd] Feature request: names(someEnv) same as ls(someEnv)
In-Reply-To: <4532862E.7090309@stats.uwo.ca>
References: <m21wp9e7oy.fsf@ziti.local> <4532862E.7090309@stats.uwo.ca>
Message-ID: <453296ED.9090505@fhcrc.org>



Duncan Murdoch wrote:
> On 10/15/2006 2:48 PM, Seth Falcon wrote:
>> Hi,
>>
>> I would be nice if names() returned the equivalent of ls() for
>> environments.
> 
> Wouldn't that just confuse people into thinking that environments are 
> vectors?  Wouldn't it then be reasonable to assume that 
> env[[which(names(env) == "foo")]] would be a synonym for env$foo?

  absolutely not - environments can only be subscripted by name, not by 
logicals or integer subscripts - so I hope that most users would figure 
that one out


> 
> I don't see why this would be nice:  why not just use ls()?

   why? environments do get used, by many as vectors (well hash tables), 
modulo the restrictions on subscripting and the analogy is quite useful 
and should be encouraged IMHO.

  Robert

> 
> Duncan Murdoch
> 
>> --- a/src/main/attrib.c
>> +++ b/src/main/attrib.c
>> @@ -687,6 +687,8 @@ SEXP attribute_hidden do_names(SEXP call
>>      s = CAR(args);
>>      if (isVector(s) || isList(s) || isLanguage(s))
>>         return getAttrib(s, R_NamesSymbol);
>> +    if (isEnvironment(s))
>> +        return R_lsInternal(s, 0);
>>      return R_NilValue;
>>  }
>>
>>
>> + seth
>>
>> --
>> Seth Falcon | Computational Biology | Fred Hutchinson Cancer Research Center
>> http://bioconductor.org
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
> 
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 

-- 
Robert Gentleman, PhD
Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M2-B876
PO Box 19024
Seattle, Washington 98109-1024
206-667-7700
rgentlem at fhcrc.org




[Rd] Feature request: names(someEnv) same as ls(someEnv)
Robert Gentleman