R: Get the current or caller environment

caller_env {rlang} | R Documentation

## Get the current or caller environment

### Description

- The current environment is the execution environment of the current function (the one currently being evaluated).

- The caller environment is the execution environment of the function that called the current function.

### Usage

    caller_env(n = 1)

    current_env()

### Arguments

`n` | Number of frames to go back.

### See Also

`caller_frame()` and `current_frame()`

### Examples

    # Let's create a function that returns its current environment and
    # its caller environment:
    fn <- function() list(current = current_env(), caller = caller_env())

    # The current environment is an unique execution environment
    # created when `fn()` was called. The caller environment is the
    # global env because that's where we called `fn()`.
    fn()

    # Let's call `fn()` again but this time within a function:
    g <- function() fn()

    # Now the caller environment is also an unique execution environment.
    # This is the exec env created by R for our call to g():
    g()

[Package rlang version 0.4.2 Index]