gpt4 book ai didi

r - function.class() 不适用于给定的类

转载 作者:行者123 更新时间:2023-12-02 07:03:57 24 4
gpt4 key购买 nike

我需要一些关于这段代码的帮助:

foo <- function(obj){
"fail"
}

foo.usefull <- function(obj){
obj$content
}

myob <- structure(list(content="sucess"), class="usefull")

foo(myob)
#[1] "fail"

foo(myob) 的调用应该返回“成功”。但似乎我错过了什么。什么?

最佳答案

您仍然需要将 foo 注册为通用函数,以便能够将 foo.usefull 作为通用函数使用。参见 this post如何做到这一点。对于您的代码:

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"

对于其他泛型,例如 printplot,这已经完成了,只需定义一个新的 plot.blabla 就可以了.

关于r - function.class() 不适用于给定的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15462472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com