【问题标题】:R6 Error, When Function in FunctionR6 错误,当函数在函数中时
【发布时间】:2017-02-25 06:10:15
【问题描述】:
library(R6) 
pre <- R6Class("pre",

public = list(
    dbl = NULL,
initialize = function(){},
functionA = function(){},
functionB = function() {}
) )

这是我想要的代码:

FunctionA ()
{
    FunctionB ()
}

但是这里有一个错误。

错误:找不到函数“functionB”

请告诉我如何解决它。

【问题讨论】:

    标签: r6


    【解决方案1】:
    FunctionA = function()
    {
      self$FunctionB ()
    }    
    

    应该可以解决问题。必须在成员函数的名称前加上self,除非你的类是non-portable。这是一个完整的例子

    library(R6) 
    pre <- R6Class(public = list(
      functionA = function(){self$functionB()},
      functionB = function(){"output from B"}
    ))
    
    obj <- pre$new()
    obj$functionA()
    # "output from B"
    obj$functionB()
    # "output from B"
    

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      相关资源
      最近更新 更多