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