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

From: Martin Morgan <mtmorgan_at_fhcrc.org>
Date: Tue, 31 May 2011 09:15:52 -0700

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

-- 
Computational Biology
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109

Location: M1-B861
Telephone: 206 667-2793

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Tue 31 May 2011 - 16:20:56 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 - 11:50: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