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