2017-02-25 35 views
0
library(R6) 
pre <- R6Class("pre", 

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

以下功能是我想要的代碼:R6錯誤,當功能

FunctionA() 
{ 
    FunctionB() 
} 

但這裏是一個錯誤。

Error: could not find function "functionB"

請讓我知道如何解決它。

+1

請編輯帖子格式化。儘管可以理解,但在當前狀態下它不易讀。 –

回答

0
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"