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@contains)
>> # Sub
>> x<- completeClassDefinition("A")
>> attributes(x)
>> names(x@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@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>


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

*Janko Thyson*
janko.thy...@googlemail.com <mailto:janko.thy...@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@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to