env_binding_lock(env, nms = NULL) env_binding_unlock(env, nms = NULL) env_binding_are_locked(env, nms = NULL)
env | An environment. |
---|---|
nms | Names of bindings. Defaults to all bindings in |
env_binding_are_unlocked()
returns a logical vector as
long as nms
and named after it. env_binding_lock()
and
env_binding_unlock()
return the old value of
env_binding_are_unlocked()
invisibly.
env_lock()
for locking an environment.
# Bindings are unlocked by default: env <- env(a = "A", b = "B") env_binding_are_locked(env) #> a b #> FALSE FALSE # But can optionally be locked: env_binding_lock(env, "a") env_binding_are_locked(env) #> a b #> TRUE FALSE # If run, the following would now return an error because `a` is locked: # env_bind(env, a = "foo") # with_env(env, a <- "bar") # Let's unlock it. Note that the return value indicate which # bindings were locked: were_locked <- env_binding_unlock(env) were_locked #> a b #> TRUE FALSE # Now that it is unlocked we can modify it again: env_bind(env, a = "foo") with_env(env, a <- "bar") env$a #> [1] "bar"