2016-05-18 4 views
1

Как получить формальные выражения для определения метода в определении класса R6?R, R6, Formals для общедоступного метода

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)