当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R selectSuperClasses 类的超类(特定类型)


R语言 selectSuperClasses 位于 methods 包(package)。

说明

返回 ClassDef 的超类,可能只是非虚拟的、直接的或简单的。

这些函数设计得很快,因此只能与相应类定义的 contains 槽一起使用。

用法

selectSuperClasses(Class, dropVirtual = FALSE, namesOnly = TRUE,
                   directOnly = TRUE, simpleOnly = directOnly,
                   where = topenv(parent.frame()))

.selectSuperClasses(ext, dropVirtual = FALSE, namesOnly = TRUE,
                    directOnly = TRUE, simpleOnly = directOnly)

参数

Class

类的名称或(更有效)类定义对象的名称(请参阅 getClass )。

dropVirtual

逻辑指示是否仅应返回非虚拟超类。

namesOnly

逻辑指示是否仅应返回向量名称而不是命名列表class-extensions。

directOnly

逻辑指示是否仅应返回直接超类。

simpleOnly

逻辑指示是否仅应返回简单的类扩展。

where

(仅当Class不是类定义时使用)找到Class的类定义的环境。

ext

仅适用于 .selectSuperClasses(),类扩展的 list,通常为 getClassDef(..)@contains

character 向量(如果 namesOnly 为 true,则默认)或类扩展列表(作为 getClass 结果中的 contains 槽)。

注意

典型的用户级函数是selectSuperClasses(),它调用.selectSuperClasses();即,出于效率原因,经验丰富的用户只能使用后者。

例子

setClass("Root")
setClass("Base", contains = "Root", slots = c(length = "integer"))
setClass("A", contains = "Base", slots = c(x = "numeric"))
setClass("B", contains = "Base", slots = c(y = "character"))
setClass("C", contains = c("A", "B"))

extends("C")   #-->  "C"  "A" "B"  "Base" "Root"
selectSuperClasses("C") # "A" "B"
selectSuperClasses("C", directOnly=FALSE) # "A" "B"  "Base"  "Root"
selectSuperClasses("C", dropVirtual=TRUE, directOnly=FALSE)# ditto w/o "Root"

也可以看看

isgetClass;此外,更多技术类classRepresentation 文档。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Super Classes (of Specific Kinds) of a Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。