With most sorts of objects the following three expression
have the same value:
    names(obj)
    attr(obj, "names")
    attributes(obj)$names
However, for call objects the last gives NULL, whether there
are names or not.
    > obj <- quote(func(one=1))
    > obj
    func(one = 1)
    > names(obj)
    [1] ""    "one"
    > attr(obj, "names")
    [1] ""    "one"
    > attributes(obj)$names
    NULL
I imagine that the underlying cause is that names are not
stored as other attributes are for call objects.  Is is
just an oversight that attributes(call) does not include
a "names" component?

This can arise when using functions that recursively walk
through objects. 

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com 

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to