Public 方法的 R、R6、形式

R, R6, Formals for Public Method

如何在 R6 class 定义中获取方法定义的形式?

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

因此,例如,在上面,我想获得 fun 定义的正式形式,就像可以执行的方式一样,例如 formals(lm)

您可以通过创建 class:

的实例来做到这一点
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)

或通过访问 class

的 public 方法
formals(A$public_methods$fun)