gpt4 book ai didi

r - ReferenceClass 的 `print` 方法

转载 作者:行者123 更新时间:2023-12-05 02:23:23 25 4
gpt4 key购买 nike

我有:

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("This is printed representation: ") print(x$data) }

现在可以了:

print(OBJ)

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

这不是:

OBJ

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

我也尝试过 show(OBJ),但我不喜欢。

最佳答案

您可以将 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

关于r - ReferenceClass 的 `print` 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22357534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com