[Rd] is.null(list()) is FALSE ?
Thomas Lumley
thomas@biostat.washington.edu
Tue, 21 Mar 2000 08:40:14 -0800 (PST)
On Tue, 21 Mar 2000, Torsten Hothorn wrote:
>
> On R-1.0.0, debian GNU/Linux,
>
> R> is.null(list())
> FALSE
>
> conflicts with the help for ?is.null:
>
> Examples:
>
> is.null(list()) # TRUE (not so in S)
> is.null(integer(0))# F
> is.null(logical(0))# F
> as.null(list(a=1,b='c'))
>
> and, I would like is.null(list()) to be TRUE :-)
My guess is that this dates from old-style pairlists, where list() could
easily be NULL. Now a list is internally a vector, so list() is a vector
of length zero and so is stored as a VECTOR node.
Also, a difficulty with storing list() as NULL is that you can't set
attributes on NULL:
R> a<-NULL
R> attr(a,"foo")<-"bar"
Error: attempt to set an attribute on NULL
R> a<-list()
R> attr(a,"foo")<-"bar"
R> a
list()
attr(,"foo")
[1] "bar"
-thomas
Thomas Lumley
Assistant Professor, Biostatistics
University of Washington, Seattle
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._