6

是否有任何官方方法可以使用 R5 生成器对象显示 R5 中类方法的定义?

> cls <- setRefClass("cls", methods = list(f1 = function() {1}))
> 
> # of course we can get the definition via the instance
> a1 <- new("cls")
> a1$f1
Class method definition for method f1()
function () 
{
    1
}
<environment: 0x101d5d3f0>
> 
> # but how to get the difinition via the generator object, i.e., cls?
> cls$f1
Error in envRefInferField(x, what, getClass(class(x)), selfEnv) : 
  ‘f1’ is not a valid field or method name for reference class “refGeneratorSlot”
> 
> # here is a workaround, but probably unofficial and no warranty for future behavior
> cls$def@refMethods$f1
Class method definition for method f1()
function () 
{
    1
}
4

1 回答 1

0
cls@generator$def@refMethods$f1

这不会创建实例。可能不是规范也不是稳定的。

于 2013-07-01T17:25:32.997 回答