【发布时间】:2016-07-19 00:49:12
【问题描述】:
我正在寻找R中python的'self'关键字或java的'this'关键字的等价物。在下面的例子中,我从一个不同的S4对象的方法中创建一个S4对象,并且需要将一个指针传递给我自己.语言中有什么东西可以帮助我做到这一点吗?
MyPrinter <- setRefClass("MyPrinter",
fields = list(obj= "MyObject"),
methods = list(
prettyPrint = function() {
print(obj$age)
# do more stuff
}
)
)
MyObject <- setRefClass("MyObject",
fields = list(name = "character", age = "numeric"),
methods = list(
getPrinter = function() {
MyPrinter$new(obj=WHAT_GOES_HERE) #<--- THIS LINE
}
)
)
我可以使用独立的方法来做到这一点,但我希望在 R 中有一种很好的面向对象的方式来执行此操作。谢谢
【问题讨论】:
-
这是一个“参考类”(
?ReferenceClasses或?setRefClass),而不是 S4 类本身(?Classes、?Methods)。来自 ?ReferenceClasses,请参阅.self。
标签: r oop reference-class