env_parent {rlang} | R Documentation |
env_parent()
returns the parent environment of env
if called
with n = 1
, the grandparent with n = 2
, etc.
env_tail()
searches through the parents and returns the one
which has empty_env()
as parent.
env_parents()
returns the list of all parents, including the
empty environment.
See the section on inheritance in env()
's documentation.
env_parent(env = caller_env(), n = 1) env_tail(env = caller_env(), sentinel = empty_env()) env_parents(env = caller_env())
env |
An environment or an object bundling an environment, e.g. a formula, quosure or closure. |
n |
The number of generations to go up. |
sentinel |
The environment signalling the end of the linear
search. |
An environment for env_parent()
and env_tail()
, a list
of environments for env_parents()
.
# Get the parent environment with env_parent(): env_parent(global_env()) # Or the tail environment with env_tail(): env_tail(global_env()) # By default, env_parent() returns the parent environment of the # current evaluation frame. If called at top-level (the global # frame), the following two expressions are equivalent: env_parent() env_parent(base_env()) # This default is more handy when called within a function. In this # case, the enclosure environment of the function is returned # (since it is the parent of the evaluation frame): enclos_env <- env() fn <- set_env(function() env_parent(), enclos_env) identical(enclos_env, fn())