我想在 R 中做基本的对象组合,我正面临这个简单的问题。我有 2 个 R5 类,“Lambda”和“Composition”。
“组合”类具有“Lambda”类的属性。无法创建类“组合”:".Object$initialize(...) : argument "lambda" is missing, with no default"
如果 lambda 在初始化方法中有默认值,则它可以工作: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
}
)
)
谢谢你的帮助。