我有:
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)
,但没有爱我。
答案 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