在R中玩绑定和环境调整,我们有这三个功能:
lockEnvironment(env) 锁定env,因此您无法向env添加新符号.lockBinding(sym, env) 将sym锁定在env中,这样你就无法修改它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
Run Code Online (Sandbox Code Playgroud)