R语言
setGroupGeneric
位于 methods
包(package)。 说明
setGroupGeneric
函数的行为类似于 setGeneric
,只是它构造了一个组泛型函数,与普通泛型函数有两个不同之处。首先,这个函数不能直接调用,并且创建的函数体将包含带有此信息的停止调用。其次,组通用函数包含有关组的已知成员的信息,用于在组定义更改时通过更改搜索列表或直接指定方法等使成员保持最新状态。
该组的所有成员必须具有相同的参数列表。
用法
setGroupGeneric(name, def= , group=list(), valueClass=character(),
knownMembers=list(), package= , where= )
参数
name |
通用函数的字符串名称。 |
def |
一个函数对象。不可能存在该名称的现有非泛型,因此需要提供一些函数。任何已知的成员或具有相同参数列表的其他函数都可以,因为不能直接调用组泛型。 |
group, valueClass |
要传递给 |
knownMembers |
已知属于该组的函数的名称。当有关组类属的信息更改时,此信息用于重置成员类属的缓存定义。 |
package, where |
传递给 |
值
setGroupGeneric
函数的存在是因为它的副作用:保存通用函数以允许稍后指定方法。它返回name
。
例子
## Not run:
## the definition of the "Logic" group generic in the methods package
setGroupGeneric("Logic", function(e1, e2) NULL,
knownMembers = c("&", "|"))
## End(Not run)
参考
Chambers, John M. (2016) Extending R Chapman & Hall
也可以看看
Methods_Details
以及用于一般讨论的链接,dotsMethods
用于在 ...
上调度的方法,setMethod
用于方法定义。
相关用法
- R setGeneric 创建函数的通用版本
- R setOldClass 注册旧式 (S3) 类和继承
- R setClass 创建类定义
- R setAs 将对象强制为类的方法
- R setMethod 创建并保存方法
- R setClassUnion 定义为其他类的联合的类
- R setIs 显式指定超类
- R setLoadActions 设置包加载操作
- R selectSuperClasses 类的超类(特定类型)
- R showMethods 显示指定函数或类的所有方法
- R slot 正式类对象中的槽
- R show 显示对象
- R as 强制对象属于某个类
- R language-class 表示未评估语言对象的类
- R className 类名包含对应的包
- R BasicClasses 基本数据类型对应的类
- R callGeneric 从方法调用当前通用函数
- R findClass 查找类定义
- R ReferenceClasses 具有按引用处理的字段的对象(OOP 样式)
- R MethodsList 方法列表对象
- R StructureClasses 基本结构对应的类
- R getMethod 获取或测试方法的定义
- R S4groupGeneric S4组通用函数
- R methodUtilities 用于方法和 S-Plus 兼容性的实用函数
- R getClass 获取类定义
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Create a Group Generic Version of a Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。