2017-02-25 5 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() 
}  

このトリックを行う必要があります。クラスをnon-portableにしない限り、selfをmemberfunctionの前に置く必要があります。ここに完全な例があります

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"