ReferenceClasses и состав объекта в R
Я хочу сделать базовую композицию объектов в R, и я столкнулся с этой простой проблемой. У меня 2 класса R5, "Лямбда" и "Композиция".
Класс "Композиция" имеет атрибут класса "Лямбда". Класс "Композиция" не может быть создан:".Object$initialize(...) : argument "lambda" is missing, with no default"
Это работает, если лямбда имеет значение по умолчанию в методе initialize: initialize = function(lambda=1){
но я не хочу этого
setRefClass(
"Lambda",
fields = c(
lambda = "numeric"
),
methods=list(
initialize = function(lambda){
check_lambda (lambda)
lambda <<- lambda
},
check_lambda = function(new_lambda){
print ("checking...")
return(T)
}
)
)
setRefClass(
"Composition",
fields = c(
object_lambda = "Lambda"
),
methods=list(
initialize = function(object_lambda){
object_lambda <<- object_lambda
}
)
)
Спасибо за вашу помощь.
1 ответ
Я нашел решение моего вопроса: установите поле "ЛЮБОЙ" в моем классе "Композиция":
setRefClass(
"Composition",
fields = c(
object_lambda = "ANY"
),
methods=list(
initialize = function(object_lambda){
object_lambda <<- object_lambda
}
)
)