作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
取函数names
:这是 R 中的原始函数。对于原始函数,创建了隐式 S4 泛型,因此可以为该函数构造 S4 方法。
以定义如下的 S4 类为例:
setClass("aClass",
representation=list(
values = "character",
id = "numeric"
),
prototype=list(
values = character(0),
id = numeric(0)),
validity=function(object){
length(object@values)==length(object@id)
}
)
names
来做到这一点避免必须创建新函数
getNames()
或者其他什么,因为这不太直观。
setMethod("names",signature="aClass",
function(x,ordered=TRUE){
if(ordered)
x@values[x@id]
else
x@values
}
names
是一个原始函数和 ordered
不是隐式泛型的参数。
names
函数应该为所有其他对象保持其原始行为,包括来自其他包的对象。 最佳答案
泛型可作为
> getGeneric("names")
standardGeneric for "names" defined from package "base"
function (x)
standardGeneric("names", .Primitive("names"))
<environment: 0x459c9c0>
Methods may be defined for arguments: x
Use showMethods("names") for currently available ones.
names
.黑客将使用包全局变量
getOption("pkg_names_ordered")
但我自己不会参与该解决方案。
names
规定的契约(Contract)没有说明顺序(例如,名称和数字索引通常用于子集;是有序名称的数字索引还是无序名称?),因此您实际上是在提议一个新的泛型。
关于r - 为原始函数的隐式 S4 泛型添加额外参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18445422/
我是一名优秀的程序员,十分优秀!