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
    }
  )
)
Другие вопросы по тегам