我在使以下代码正常工作时遇到问题。特别是在“ ???”处应该有什么?得到结果c(4,7,1)
letter<- function()
{
x<- numeric(0)
class(x)<- append(class(x), "letter")
return(x)
}
a<- function()
{
obj<- letter()
class(obj)<- append(class(obj),"a")
return(obj)
}
aa<- function()
{
obj<- a()
class(obj)<- append(class(obj),"aa")
return(obj)
}
met<- function(obj, ...)
{
UseMethod("met", obj)
}
met.letter<- function(obj, ???)
{
NextMethod(???)
}
met.a<- function(obj, ???)
{
x<-4
z<-1
NextMethod(???)
}
met.aa<- function(obj, ???)
{
y=y+1
return(c(x,y,z))
}
aaobj<- aa()
met(aaobj, y=6)
# to return c(4,7,1)
当在当前方法中创建参数时,我不明白如何将其传递给下一个方法,并且我不想将这些参数传递给对方法的调用。
答案 0 :(得分:0)
这是代码的类似于OO的版本,带有“日志输出”以指示其工作方式:
indices = [(0, 2), (0, 3), (0, 2), (1, 1), (0, 3), (0, 2)]
注意:您应该将类名称放在class属性的开头(而不是结尾),这样,如果调用通用方法,则将找到最专门的类方法并首先调用它。
有关详细信息,请参见http://www.stackoverflow.com/q/45175988