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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。