scoped_bindings

0th

Percentile

Temporarily change bindings of an environment

  • 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().

Usage
scoped_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 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.

Aliases
  • scoped_bindings
  • with_bindings
Examples
library(rlang) # NOT RUN { foo <- "foo" bar <- "bar" # `foo` will be temporarily rebinded while executing `expr` with_bindings(paste(foo, bar), foo = "rebinded") paste(foo, bar) # }
Documentation reproduced from package rlang, version 0.2.0, License: GPL-3

Community examples

Looks like there are no examples yet.