[Rd] reference classes: question on inheritance
John Chambers
jmc at r-project.org
Mon Nov 22 18:50:37 CET 2010
>>
>> What am I doing wrong here?
Not using a recent enough version of R probably (and not telling us what
version you are using).
The warning (not an error) should not appear in current r-devel or
2.12-patched. In other words, works fine for me.
John
On 11/21/10 3:40 PM, Janko Thyson wrote:
> Hmm, interesting: it's the virtual class that causes the trouble. If a
> virtual class is a ref class, everything works fine. If it's a standard S4
> class, it results in the error below.
>
> Regards,
> Janko
>
>> -----Ursprüngliche Nachricht-----
>> Von: Janko Thyson [mailto:janko.thyson at ku-eichstaett.de]
>> Gesendet: Montag, 22. November 2010 00:31
>> An: 'r-devel at r-project. org'
>> Betreff: reference classes: question on inheritance
>>
>> Dear list,
>>
>> I have a reference class which should act as a “generic” superclass for
>> other classes. I’ve read the respective section at ?setRefClass and put
>> the name of the superclass to the ‘contains’ argument of an example
>> subclass (see class defs below). Classnames are set in a way that
>> shouldn’t result in collation issues (virtual def sourced before
>> superclass def sourced before subclass). Yet, this results in the
>> following error:
>>
>> Warnmeldung:
>> unable to find a consistent ordering of superclasses for class
>> "Shabubu": order chosen is inconsistent with the superclasses of
>> "JObject"
>>
>> ###### CLASS DEFS #####
>> setClass("JObjectVirtual")
>> setRefClass(
>> Class="JObject",
>> fields=list(
>> # GENERIC FIELDS (DON'T CHANGE !!!)
>> .BUFFER="environment",
>> .GENESIS="environment",
>> .HISTORY="environment",
>> .IMAGES="environment",
>> .LOGS="environment",
>> .OPTS="environment",
>> .PLUGINS="environment",
>> .TMP="environment",
>> .UID="character",
>> DATA="data.frame"
>> # /
>> ),
>> contains=c("JObjectVirtual"),
>> methods=list(
>> ...
>> )
>> )
>> setRefClass(
>> Class="Shabubu",
>> fields=list(
>> # CUSTOM FIELDS (ADAPT TO YOUR NEEDS)
>> a="numeric",
>> b="character",
>> c="logical",
>> d="data.frame",
>> e="matrix",
>> f="list",
>> derived.field="function"
>> # /
>> ),
>> contains=c("JObject")
>> )
>>
>> Thanks,
>> Janko
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
More information about the R-devel
mailing list