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