【发布时间】:2012-07-05 21:58:21
【问题描述】:
为一个字段赋值,如何让其他字段发生变化。
考虑以下ReferenceClass 对象:
C<-setRefClass("C",
fields=list(a="numeric",b="numeric")
, methods=list(
seta = function(x){
a<<-x
b<<-x+10
cat("The change took place!")
}
) # end of the methods list
) # end of the class
现在创建类的实例
c<-C$new()
这个命令
c$seta(10)
将导致 c$a 为 10,c$b 为 20。
所以它确实有效,但是,我想通过命令来实现这个结果
c$a<-10
(即之后我希望 c$b 等于 20,如 seta() 函数逻辑中的类中定义的那样)
我该怎么做?
【问题讨论】:
-
哦不!这不是R5级别! stackoverflow.com/questions/5137199/…
-
因此正确的名称实际上是“参考类”,对吧?
-
没错。不幸的是,它没有那么紧凑,但生活就是这样。
-
可能涉及到的人,请说明您对此问题投反对票的原因,这将有助于我避免将来发布不适当的问题。
-
投反对票的不是我,但可以通过添加 [reference-class] 标记并将
R5类编辑为Reference Class来改进问题
标签: r reference-class