R: Remove bindings from an environment

env_unbind {rlang} | R Documentation

## Remove bindings from an environment

### Description

`env_unbind()` is the complement of `env_bind()`. Like `env_has()`, it ignores the parent environments of `env` by default. Set `inherit` to `TRUE` to track down bindings in parent environments.

### Usage

    env_unbind(env = caller_env(), nms, inherit = FALSE)

### Arguments

`env` | An environment.
`nms` | A character vector containing the names of the bindings to remove.
`inherit` | Whether to look for bindings in the parent environments.

### Value

The input object `env` with its associated environment modified in place, invisibly.

### Examples

    env <- env(foo = 1, bar = 2)
    env_has(env, c("foo", "bar"))

    # Remove bindings with `env_unbind()`
    env_unbind(env, c("foo", "bar"))
    env_has(env, c("foo", "bar"))

    # With inherit = TRUE, it removes bindings in parent environments
    # as well:
    parent <- env(empty_env(), foo = 1, bar = 2)
    env <- env(parent, foo = "b")

    env_unbind(env, "foo", inherit = TRUE)
    env_has(env, c("foo", "bar"))
    env_has(env, c("foo", "bar"), inherit = TRUE)

[Package rlang version 0.4.7 Index]