Воспроизведение с привязкой и настройкой окружения в R, мы имеем следующие 3 функции:
-
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