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


R setGroupGeneric 创建函数的组通用版本


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

说明

setGroupGeneric 函数的行为类似于 setGeneric,只是它构造了一个组泛型函数,与普通泛型函数有两个不同之处。首先,这个函数不能直接调用,并且创建的函数体将包含带有此信息的停止调用。其次,组通用函数包含有关组的已知成员的信息,用于在组定义更改时通过更改搜索列表或直接指定方法等使成员保持最新状态。

该组的所有成员必须具有相同的参数列表。

用法

setGroupGeneric(name, def= , group=list(), valueClass=character(),
                knownMembers=list(), package= , where= )

参数

name

通用函数的字符串名称。

def

一个函数对象。不可能存在该名称的现有非泛型,因此需要提供一些函数。任何已知的成员或具有相同参数列表的其他函数都可以,因为不能直接调用组泛型。

group, valueClass

要传递给 setGeneric 的参数。

knownMembers

已知属于该组的函数的名称。当有关组类属的信息更改时,此信息用于重置成员类属的缓存定义。

package, where

传递给 setGeneric ,但已过时且应避免。

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-devel大神的英文原创作品 Create a Group Generic Version of a Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。