R6错误,功能中的功能

时间:2017-02-25 06:10:15

标签: r6

library(R6) 
pre <- R6Class("pre",

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

这是我想要的代码:

FunctionA ()
{
    FunctionB ()
}

但这里有一个错误。

  

错误:找不到功能“functionB”

请让我知道如何修复它。

1 个答案:

答案 0 :(得分:0)

FunctionA = function()
{
  self$FunctionB ()
}    

应该做的伎俩。除非您创建班级non-portable,否则必须将self放在成员函数的名称前面。这是一个完整的例子

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"