scoped_bindings: Temporarily change bindings of an environment
Description
scoped_bindings() temporarily changes bindings in .env (which
is by default the caller environment). The bindings are reset to
their original values when the current frame (or an arbitrary one
if you specify .frame) goes out of scope.
with_bindings() evaluates expr with temporary bindings. When
with_bindings() returns, bindings are reset to their original
values. It is a simple wrapper around scoped_bindings().
Pairs of names and values. These dots support splicing
(with value semantics) and name unquoting.
.env
An environment or an object bundling an environment,
e.g. a formula, quosure or closure.
This argument is passed to get_env().
.frame
The frame environment that determines the scope of
the temporary bindings. When that frame is popped from the call
stack, bindings are switched back to their original values.
.expr
An expression to evaluate with temporary bindings.
Value
scoped_bindings() returns the values of old bindings
invisibly; with_bindings() returns the value of expr.
# NOT RUN {foo <- "foo"bar <- "bar"# `foo` will be temporarily rebinded while executing `expr`with_bindings(paste(foo, bar), foo = "rebinded")
paste(foo, bar)
# }