當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。