12
与R中绑定和环境调整打,我们这3个功能:如何解锁R中的环境?
lockEnvironment(env)
锁包膜,所以你不能一个新的符号添加到ENV。lockBinding(sym, env)
在env中锁定sym,所以你不能修改它unlockBinding(sym, env)
放松后者的锁定。
但我该如何解锁环境?也许我错过了一些东西,但它看起来像R不公开unlockEnvironment
函数或等效机制来解锁env?这是否有一些设计理由?
这里如何使用此功能的例子:
e <- new.env()
lockEnvironment(e)
get("x",e)
assign("x",2,envir=e)
lockBinding("x", e)
get("x",e)
unlockBinding("x", e)
assign("x",3,envir=e)
## how to relese e lock?
unlockEnvironment(e) ## the function doesn't exist