Возможно, я просто не понимаю, как работают RefClasses, но есть ли способ инициализировать поля в классе в методе constructor / initialize, а не раньше?См. Пример ниже, где, когда я пытаюсь собрать, получаю ошибку:
Ошибка в .Object $ initialize (...): необходимо указать a или b
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)