【发布时间】:2012-10-21 09:15:47
【问题描述】:
我想将引用类传递给引用类构造函数,并将传递的引用类分配为字段。但是,当我运行下面的代码时,我不明白为什么会出现错误。我的问题是:
1) 请有人解释一下为什么会出现这个错误:
> a <- ClassA&new()
Error in .getClassFromCache(Class, where) :
argument "Class" is missing, with no default
> b <- ClassB$new(a)
Error in .Object$initialize(...) : object 'a' not found
2) 我已将 class.a.container 声明为类“列表”,但我希望这是一个参考类。我需要在这里放什么而不是“列表”?
ClassA <- setRefClass(
"ClassA",
fields = list(myVar = "numeric"),
methods = list(
someMethod = function(){
print("hi")
}
)
)
ClassB <- setRefClass(
"ClassB",
fields = list(class.a.container = "list"),
methods = list(
initialize = function(class.a){
class.a.container <<- class.a
})
)
a <- ClassA&new()
b <- ClassB$new(a)
【问题讨论】:
-
我在 ClassA 定义中看不到任何“字段”参数。定义一个没有任何内容的类是否有意义?我只是问问。
-
不是在现实生活中,这只是一个例子。为了清楚起见,我已经编辑了代码
标签: r oop reference-class