2

我有:

MyClass <- setRefClass("MyClass" , fields = list(data="numeric"))

让我们初始化一个对象MyClass

OBJ <- MyClass(数据=1:4)

...并在屏幕上打印:

对象

Reference class object of class "MyClass"
Field "data":
[1] 1 2 3 4

我想改变它的打印方式,所以我写了这个方法:

print.MyClass <- function(x) { cat("这是打印的表示:") print(x$data) }

现在这有效:

打印(OBJ)

This is printed representation: [1] 1 2 3 4

这不会:

对象

有什么方法可以通过键入来实现我的打印方法OBJ吗?

我也尝试过show,或者(OBJ),但不爱我。

4

1 回答 1

5

您可以将show方法添加到参考类中,详见?setRefClass. 举个例子

MyClass <- setRefClass("MyClass" , fields = list(data="numeric"))

MyClass$methods(show = function(){print("This is printed representation: ")
                                  print(data)})

OBJ <- MyClass(data=1:4)

> OBJ
[1] "This is printed representation: "
[1] 1 2 3 4
于 2014-03-12T16:51:36.710 回答