local_bindings {rlang} | R Documentation |
Temporarily change bindings of an environment
Description
-
local_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()
evaluatesexpr
with temporary bindings. Whenwith_bindings()
returns, bindings are reset to their original values. It is a simple wrapper aroundlocal_bindings()
.
Usage
local_bindings(..., .env = .frame, .frame = caller_env())
with_bindings(.expr, ..., .env = caller_env())
Arguments
... |
Pairs of names and values. These dots support splicing (with value semantics) and name unquoting. |
.env |
An environment. |
.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
local_bindings()
returns the values of old bindings
invisibly; with_bindings()
returns the value of expr
.
Examples
foo <- "foo"
bar <- "bar"
# `foo` will be temporarily rebinded while executing `expr`
with_bindings(paste(foo, bar), foo = "rebinded")
paste(foo, bar)