This function is superseded. Please use env()
(and possibly
set_env()
if you're masking the bindings for another object like
a closure or a formula) instead.
env_bury()
is like env_bind()
but it creates the bindings in a
new child environment. This makes sure the new bindings have
precedence over old ones, without altering existing environments.
Unlike env_bind()
, this function does not have side effects and
returns a new environment (or object wrapping that environment).
Arguments
- .env
An environment.
- ...
<dynamic> Named objects (
env_bind()
), expressionsenv_bind_lazy()
, or functions (env_bind_active()
). Usezap()
to remove bindings.
Examples
orig_env <- env(a = 10)
fn <- set_env(function() a, orig_env)
# fn() currently sees `a` as the value `10`:
fn()
#> [1] 10
# env_bury() will bury the current scope of fn() behind a new
# environment:
fn <- env_bury(fn, a = 1000)
fn()
#> [1] 1000
# Even though the symbol `a` is still defined deeper in the scope:
orig_env$a
#> [1] 10