我需要一些关于这段代码的帮助:
foo <- function(obj){
"fail"
}
foo.usefull <- function(obj){
obj$content
}
myob <- structure(list(content="sucess"), class="usefull")
foo(myob)
#[1] "fail"
什么调用foo(myob)
应该返回 ist “成功”。但似乎我错过了一些东西。什么?
您仍然必须注册foo
为泛型函数才能foo.usefull
用作泛型。有关如何执行此操作的方法,请参见这篇文章。对于您的代码:
foo <- function(x) UseMethod("foo", x) # define generic
foo.usefull <- function(obj){
obj$content
}
myob <- structure(list(content="sucess"), class="usefull")
foo(myob)
# [1] "sucess"
对于其他泛型,例如print
或plot
这已经完成,并且plot.blabla
马上定义一个新的作品。