R语言:引用类中两种可能类型的字段?

时间:2014-03-26 09:56:55

标签: r

我正在学习使用R的OOP编程,特别是参考类。

如果我有课,例如

myclass <- setRefClass(class="myclass", fields=list(x="numeric"));

我知道如果我不想为x设置任何类,我可以输入fields = list(x =“ANY”)。但是如果 我想允许x有两个可能的类,例如“数字”或“逻辑”。 “数字”和“逻辑”类不会相互继承,因此设置一个并传递另一个类会导致错误。

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:0)

像这样使用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

请注意,没有必要使用分号后缀R语句。