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.
env_unbind(env = caller_env(), nms, inherit = FALSE)
| 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. |
The input object env with its associated environment
modified in place, invisibly.
data <- set_names(as.list(letters), letters) env_bind(environment(), !!! data) env_has(environment(), letters)#> a b c d e f g h i j k l m n o p #> TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE #> q r s t u v w x y z #> TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE#> a b c d e f g h i j k l m #> FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE #> n o p q r s t u v w x y z #> FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE# With inherit = TRUE, it removes bindings in parent environments # as well: parent <- child_env(NULL, foo = "a") env <- child_env(parent, foo = "b") env_unbind(env, "foo", inherit = TRUE) env_has(env, "foo", inherit = TRUE)#> foo #> FALSE