R RefClass使用包含使用停止条件初始化/避免调用初始化的字段
可能我只是不了解refclass是如何工作的,但是有没有一种方法可以在构造函数/初始化方法中初始化类中的字段,而不是在之前?请参见下面的示例,其中当我尝试构建时,会出现错误: .Object$initialize(…)中出错:必须提供a或bR RefClass使用包含使用停止条件初始化/避免调用初始化的字段,r,oop,R,Oop,可能我只是不了解refclass是如何工作的,但是有没有一种方法可以在构造函数/初始化方法中初始化类中的字段,而不是在之前?请参见下面的示例,其中当我尝试构建时,会出现错误: .Object$initialize(…)中出错:必须提供a或b A我们可以删除“s4”标签吗?RefClass与S4不同。我删除了标签,但这个问题的答案仍然很好…对不起,我帮不了你。。。我对S4了解很多,但对REF课程了解相对较少!(你也许可以在上面加上“ref”或“reference”标签,它可能会被合适的人看到。R6
A我们可以删除“s4”标签吗?RefClass与S4不同。我删除了标签,但这个问题的答案仍然很好…对不起,我帮不了你。。。我对S4了解很多,但对REF课程了解相对较少!(你也许可以在上面加上“ref”或“reference”标签,它可能会被合适的人看到。R6也是一个非常类似的系统,因此如果你用R6标签,你可能会吸引合适的专家)
A <- setRefClass("A",
fields = list(
m_a = "numeric",
m_b = "character"
),
methods = list(
initialize = function(t_a,t_b,...){
if(missing(t_a) && missing(t_b)){
stop("a or b must be provided")
}
if(!missing(t_a)){
m_a <<- t_a
}
if(!missing(t_b)){
m_b <<- t_b
}
}
)
)
B <- setRefClass("B",
fields = list(
m_c = "A"
),
methods = list(
initialize = function(t_c,...){
m_c <<- A(t_a=1)
}
)
)
bTest <- B(TRUE)