【发布时间】:2016-05-18 05:49:09
【问题描述】:
如何获得 R6 类定义中方法定义的形式?
A = R6Class("MyClass",inherit=NULL,
public = list(
fun = function(a,b,c){
# Do Something
}
)
)
例如,在上面,我想获得fun 定义的形式,以同样的方式执行,例如formals(lm)
【问题讨论】:
如何获得 R6 类定义中方法定义的形式?
A = R6Class("MyClass",inherit=NULL,
public = list(
fun = function(a,b,c){
# Do Something
}
)
)
例如,在上面,我想获得fun 定义的形式,以同样的方式执行,例如formals(lm)
【问题讨论】:
您可以通过创建类的实例来做到这一点:
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)
【讨论】: