R: Tidy evaluation in a custom environment

eval_tidy_ {rlang} | R Documentation

## Tidy evaluation in a custom environment

### Description

We recommend using `eval_tidy()` in your DSLs as much as possible to ensure some consistency across packages (`.data` and `.env` pronouns, etc). However, some DSLs might need a different evaluation environment. In this case, you can call `eval_tidy_()` with the bottom and the top of your custom overscope (see `as_overscope()` for more information).

### Usage

    eval_tidy_(expr, bottom, top = NULL, env = caller_env())

### Arguments

`expr` | An expression.
`bottom` | This is the environment (or the bottom of a set of environments) containing definitions for overscoped symbols. The bottom environment typically contains pronouns (like `.data`) while its direct parents contain the overscoping bindings. The last one of these parents is the `top`.
`top` | The top environment of the overscope. During tidy evaluation, this environment is chained and rechained to lexical enclosures of self-evaluating formulas (or quosures). This is the mechanism that ensures hygienic scoping: the bindings in the overscope have precedence, but the bindings in the dynamic environment where the tidy quotes were created in the first place are in scope as well.
`env` | The lexical environment in which to evaluate `expr`.

### Details

Note that `eval_tidy_()` always installs a `.env` pronoun in the bottom environment of your dynamic scope. This pronoun provides a shortcut to the original lexical enclosure (typically, the dynamic environment of a captured argument, see `enquo()`). It also cleans up the overscope after evaluation. See `overscope_eval_next()` for evaluating several quosures in the same overscope.

[Package rlang version 0.1.6 Index]