我创建了一个自定义类和打印方法:
#custom class
myClass <- setClass(Class = "myClass",
slots = c(a = "character"),
prototype = list(a = character()))
#custom print method
print.myClass <- function(theObject){
print("2")
}
#create a variable for testing
test <- myClass(a = "1")
如果我使用print(test)
,效果很好:
> print(test)
[1] "2"
但是,如果我只运行不带print()
的变量,它将显示不同的内容。
> test
An object of class "myClass"
Slot "a":
[1] "1"
在不使用print()
的情况下运行自定义打印方法时,我应该怎么做?
谢谢!
答案 0 :(得分:2)
我自己弄清楚了。对于S4对象,您需要使用show()
。
如果我使用它,它将起作用:
setMethod(f = "show",
signature = "myClass",
definition = function(object){
print("2")
})
有效:
> test
[1] "2"