【问题标题】:R allow reference classes to be member of reference classR允许参考类成为参考类的成员
【发布时间】:2015-04-21 05:53:24
【问题描述】:

我正在尝试使“class1”成为“class2”的元素。但是当“class1”有initialize() 函数时,我得到以下错误:

class1 <-
  setRefClass(
    'class1',
    fields = list(attribute1 = 'character'),
    methods = list(
    initialize = function(a){
      attribute1 <<- a
    }
   )
  )

class2 <- 
  setRefClass(
    'class2',
    fields = list(attribute2 = 'class1')
  )

.Object$initialize(...) 中的错误: 缺少参数“a”,没有默认值

【问题讨论】:

    标签: r reference-class


    【解决方案1】:

    initialize方法一个默认值:

    class1 <-
      setRefClass(
        'class1',
        fields = list(attribute1 = 'character'),
        methods = list(
          initialize = function(a = NA_character_){
            attribute1 <<- a
          }
        )
      )
    
    class2 <- 
      setRefClass(
        'class2',
        fields = list(attribute2 = 'class1')
      )
    test <- class2()
    > test
    Reference class object of class "class2"
    Field "attribute2":
      Reference class object of class "class1"
    Field "attribute1":
      [1] NA
    

    【讨论】:

      猜你喜欢
      • 2012-10-21
      • 1970-01-01
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      相关资源
      最近更新 更多