ReferenceClass的`print`方法

时间:2014-03-12 16:15:19

标签: r reference-class

我有:

  

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

让我们初始化MyClass的对象:

  

OBJ< - MyClass(data = 1:4)

...并在屏幕上打印:

  

OBJ

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

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

  

print.MyClass< - function(x){     cat(“这是印刷表示:”)     打印(X $数据)   }

现在可行:

  

打印(OBJ)

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

这不是:

  

OBJ

有没有办法只需输入OBJ来实现我的打印方法?

我也试过show(OBJ),但没有爱我。

1 个答案:

答案 0 :(得分: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