【发布时间】:2013-04-17 20:21:59
【问题描述】:
标题基本上说明了一切。
如果我这样做......
makeActiveBinding("x", function() runif(2), .GlobalEnv)
x
# [1] 0.7332872 0.4707796
x
# [1] 0.5500310 0.5013099
...那么我有什么方法可以检查x 以了解它所链接的功能(如果没有,为什么不链接)?
(在这种情况下,我希望能够知道x 被定义为function() runif(2)。)
【问题讨论】:
-
Romain Francois 建议使用patch to R-devel in 2009 来修改此行为 (see the link to attachment with C code)
-
@Andrie 这个补丁没有给出绑定功能,只是打印出这确实是一个主动绑定
-
@Andrie 很有趣,但是 IIUC,看起来 Romain 的补丁对
str(x)所做的所有事情都是打印(或者更确切地说是cat())字符串“\n”。这也是你看到的吗? -
@RomainFrancois -- 你是否理解,除了 C 级黑客攻击之外,活动绑定的细节(包括它引用的 R 函数)是隐藏的?我所要求的是否与希望看到一个承诺对象的内部相似,在它不可能的情况下? (意思是故意隐藏的吗?)
-
看起来确实很隐蔽。