2016-05-18 29 views
1

如何在R6類定義中獲得方法定義的形式?R,R6,Formals for Public Method

A = R6Class("MyClass",inherit=NULL, 
    public = list(
     fun = function(a,b,c){ 
      # Do Something 
     } 
    ) 
) 

因此,例如,在上面的,我想獲得的甲縮醛爲fun定義,以同樣的方式一個可以執行,例如,formals(lm)

回答

2

您可以通過創建一個做到這一點類的實例:

A = R6Class("MyClass", 
     inherit=NULL, 
     public = list(
      a = NA, 
      initialize = function(a){ 
       self$a <- a 
      }, 
      fun = function(a,b,c){ 
       # Do Something 
      } 
     ) 
) 
B <- A$new(5) 
formals(B$fun) 

或通過訪問類的公共方法

formals(A$public_methods$fun)