NextMethod()显式参数性能

时间:2018-03-04 17:11:37

标签: r method-dispatch

使用S3对象系统,在通用方法中,您可以使用NextMethod()函数委托类层次结构中的下一个方法。当Wickham在http://adv-r.had.co.nz/S3.html描述这个系统时,他在他的例子中没有任何参数地使用NextMethod()

baz <- function(x) UseMethod("baz", x)
baz.C <- function(x) c("C", NextMethod())

我也总是在我自己的代码中使用NextMethod()而没有参数。

我刚注意到[.Date使用了一个显式参数:

> `[.Date`
function (x, ..., drop = TRUE) 
{
    cl <- oldClass(x)
    class(x) <- NULL
    val <- NextMethod("[")
    class(val) <- cl
    val
}

?NextMethod的文档说明如下:

  

通常&#39; NextMethod&#39;仅与一个参数一起使用,&#39; generic&#39;

就性能而言,调用NextMethod("generic")的速度要快于NextMethod()吗?有没有其他理由更喜欢一种用法而不是另一种用法?

0 个答案:

没有答案