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


R MethodsList 方法列表對象


R語言 MethodsList 位於 methods 包(package)。

說明

這些函數創建和操作MethodsList對象,以前使用的對象R存儲調度方法。不推薦使用這些對象,因為R3.2.0,因為這很少是一個好主意。要研究方法調度的地方,請參見selectMethod。對於迭代方法或方法簽名的計算,請參閱findMethods,它返回一個線性化方法列表來保存方法定義,通常比遞歸更方便迭代MethodsList對象。

用法

listFromMlist(mlist, prefix = list(), sigs. = TRUE, methods. = TRUE)

linearizeMlist(mlist, inherited = TRUE)

finalDefaultMethod(method)

loadMethod(method, fname, envir)

##--------- These are all deprecated, since R 3.2.0 ----------

MethodsList(.ArgName, ...)
makeMethodsList(object, level=1)
SignatureMethod(names, signature, definition)
insertMethod(mlist, signature, args, def, cacheOnly)
inheritedSubMethodLists(object, thisClass, mlist, ev)

showMlist(mlist, includeDefs = TRUE, inherited = TRUE,
   classes, useArgNames, printTo = stdout() )
## S3 method for class 'MethodsList'
print(x, ...)

mergeMethods(m1, m2, genericLabel)

emptyMethodsList(mlist, thisClass = "ANY", sublist = list()) 

細節

listFromMlist

撤銷方法列表的遞歸性質,創建函數定義的 list(sigs,methods) 列表,即匹配簽名和方法。 prefix 是要附加到此對象中的簽名的部分簽名(類的命名列表)。如果 sigs.methods.FALSE ,則返回值的結果部分將為空。

一個實用函數,用於迭代對象中的所有單獨方法,它遞歸地調用自身。

linearizeMlist

撤銷方法列表的遞歸性質,創建函數定義列表,列表的名稱是相應的簽名。

專為印刷而設計;要循環方法,請改用上麵的listFromMlist

finalDefaultMethod

默認方法還是NULL。隨著 "MethodsList" 對象的消亡,此函數僅檢查給定的值是否是方法定義、原始值或 NULL。

loadMethod

如有必要,在幀 envir 中調度對 method 的調用之前調用。該函數的存在使得可以為特殊類的對象定義方法。通常重點是分配或修改要用於評估的框架環境中的信息。例如,標準類MethodDefinition 具有在環境中存儲目標和定義的簽名的方法。類 MethodWithNext 有一個方法,考慮到存儲在調用 callNextMethod 時使用的方法的機製。

loadMethod 定義的任何方法都必須返回用於此調用的函數定義;通常,這隻是 method 參數。

參考

Chambers, John M. (2008) Software for Data Analysis: Programming with R Springer. (For the R version.)

Chambers, John M. (1998) Programming with Data Springer (For the original S4 version.)

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 MethodsList Objects。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。