我正在学习如何使用 R6 类(以及一般的 R OO)。
在本教程中,我发现了一种表示构造函数的有趣方式。在 6.3 节中定义了一种不同类型的构造函数,返回一个在函数内部调用“new”的类实例。
这类似于使用计算某些东西的函数初始化类对象的行为,这对我的目的很有用。
我想知道这是否也可以在 R6 中完成,如果可以,是否有资源可以让我学习如何正确地做到这一点。
我在 S4 中的示例如下:
ERes <- setClass("ERes",
representation = representation(
eTable = 'data.table',
eList = 'list'
)
)
setERes <- function(someData){
return(new(Class = 'ERes', eTable = table(someData), eList = as.list(someData)))
}
现在,创建的代码eTable
会eList
稍微复杂一些,但这就是原则。用户不需要调用 $new,而是调用一个返回适当对象的函数。我以为我可以把函数放在 R6 类中,但我不知道如何调用它。