[Rd] S4 'object is not subsettable' in prototype
Seth Falcon
sfalcon at fhcrc.org
Fri Aug 18 18:54:54 CEST 2006
Martin Maechler <maechler at stat.math.ethz.ch> writes:
> I agree you've found an "infelicity" in the current setup,
> since
>
> > setClass("A", representation(x="numeric"))
> [1] "A"
> > getClass("A")@prototype
> <S4 Type Object>
> attr(,"x")
> numeric(0)
> > length(getClass("A")@prototype)
> [1] 1
> > getClass("A")@prototype[1]
> Error in getClass("A")@prototype[1] : object is not subsettable
> >
>
> It's not clear yet to me *what* should be changed.
> For my taste, if length(object) returns 1,
> I'd typically want that object[1] should be valid;
> but I think we already have some (peculiar) exceptions to that
> rule.
I disagree with the notion that length and "[" should be tightly
coupled. An object having length doesn't have to mean that subsetting
makes any sense. For example, an environment has length, but what
should env1[1] return? And with S4 classes, there are many such
examples where "[i]" won't make sense.
+ seth
More information about the R-devel
mailing list