Re: [Rd] Query super- and subclasses of a class: is there a better way than to use 'completeClassDefinition()'

From: Janko Thyson <janko.thyson.rstuff_at_googlemail.com>
Date: Wed, 01 Jun 2011 09:49:04 +0200

Hi Martin,

right, that's exactly what I thought. Thanks for the pointer to 'getClassDef()'. Pretty obvious place to start, I have to admit ;-) But I had this 'completeClassDefinition()' thing in a function I've written long long ago where I didn't really know my way around class details yet.

Thanks,
Janko

On 31.05.2011 18:15, Martin Morgan wrote:
> On 05/30/2011 08:54 AM, Janko Thyson wrote:
>> Dear List,
>>
>> when I first started to use S4 classes, I used the function
>> 'completeClassDef()' in order to see the super- and subclasses of a
>> certain class:
>
> Hi Janko -- I think 'complete' is meant as an adverb here; what you
> might want is names(getClassDef("A")@subclasses) (see
> slotNames(class(getClassDef("A"))) for other useful info).
>
> Martin
>
>>
>> setClass(Class="A", representation=list(a="numeric"))
>> setClass(Class="B", contains="A", representation=list(b="character"))
>> # Super
>> x<- completeClassDefinition("B")
>> attributes(x)
>> names(x_at_contains)
>> # Sub
>> x<- completeClassDefinition("A")
>> attributes(x)
>> names(x_at_subclasses)
>>
>> This also does the trick for Reference Classes for me. However, I
>> re-read the respective section on the help page and wondered if I should
>> be more careful about using this function for this purpose as the
>> page says:
>> "|completeClassDefinition: |Completes the definition of |Class|,
>> relative to the class definitions visible from environment |where|. If
>> |doExtends| is |TRUE|, complete the super- and sub-class information.
>> This function is called when a class is defined or re-defined."
>>
>> So here are my questions:
>> 1) Is it safe to call 'completeClassDef()' explicitly or can anything be
>> "overwritten" by this?
>> 2) Is there a better way to query the super-/subclasses of a certain
>> S4/Reference Class?
>>
>> Best regards and I'd like to take this opportunity to express my
>> gratitude to everyone on this list who takes the time to provide such
>> great help!
>> Janko
>>
>>
>>
>>
>> ______________________________________________
>> R-devel_at_r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

-- 
------------------------------------------------------------------------

*Janko Thyson*
janko.thyson_at_googlemail.com <mailto:janko.thyson_at_googlemail.com>

Jesuitenstraße 3
D-85049 Ingolstadt

Mobile: +49 (0)176 83294257

This e-mail and any attachment is for authorized use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be
copied, disclosed to, retained or used by any other party.
If you are not an intended recipient then please promptly delete this
e-mail and any attachment and all copies and inform the sender.


	[[alternative HTML version deleted]]



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

Received on Wed 01 Jun 2011 - 07:51:14 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 01 Jun 2011 - 14:00:14 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive