R语言:引用类中两种可能类型的字段?
我正在学习使用R进行OOP编程,特别是使用参考类 如果我有课,例如R语言:引用类中两种可能类型的字段?,r,R,我正在学习使用R进行OOP编程,特别是使用参考类 如果我有课,例如 myclass <- setRefClass(class="myclass", fields=list(x="numeric")); myclass像这样使用setClassUnion: setClassUnion("NumOrLog", c("numeric", "logical")) myclass <- setRefClass("myclass", fields=list(x="NumOrLog")) #
myclass <- setRefClass(class="myclass", fields=list(x="numeric"));
myclass像这样使用setClassUnion
:
setClassUnion("NumOrLog", c("numeric", "logical"))
myclass <- setRefClass("myclass", fields=list(x="NumOrLog"))
# test
myclass(x = 12) # ok
myclass(x = TRUE) # ok
myclass(x = "X") # bad
setClassUnion(“NumOrLog”,c(“numeric”,“logical”))
实际上,我建议远离类联合,只使用类型“ANY”。您使用的高级S4功能越少,您编写的代码就越有可能在各种情况下工作。非常感谢您,Grothendieck先生。这起作用了。但若我想将类“integer”和“difftime”进行类并集,该怎么办呢?我无法理解错误来自以下示例:setClassUnion(name=“intDifftime”,members=c(“integer”,“difftime”);类“difftime”是在基本包中定义的,但是setClassUnion会抱怨?“difftime”是S3,而不是S4。首先发布setOldClass(“difftime”),让S4系统了解它非常感谢,格罗森迪克先生,这非常有帮助!