R: Find the expression associated with an argument

expr_label {lazyeval} | R Documentation

## Find the expression associated with an argument

### Description

`expr_find()` finds the full expression; `expr_text()` turns the expression into a single string; `expr_label()` formats it nicely for use in messages. `expr_env()` finds the environment associated with the expression.

### Usage

    expr_label(x)

    expr_text(x, width = 60L, nlines = Inf)

    expr_find(x)

    expr_env(x, default_env)

### Arguments

`x` | A promise (function argument)
`width` | Width of each line
`nlines` | Maximum number of lines to extract.
`default_env` | If supplied, `expr_env` will return this if the promise has already been forced. Otherwise it will throw an error.

### Details

These functions never force promises, and will work even if a promise has previously been forced.

### Examples

    # Unlike substitute(), expr_find() finds the original expression
    f <- function(x) g(x)
    g <- function(y) h(y)
    h <- function(z) list(substitute(z), expr_find(z))

    f(1 + 2 + 3)

    expr_label(10)
    # Names a quoted with ``
    expr_label(x)
    # Strings are encoded
    expr_label("a\nb")
    # Expressions are captured
    expr_label(a + b + c)
    # Long expressions are collapsed
    expr_label(foo({
      1 + 2
      print(x)
    }))

[Package lazyeval version 0.2.1 Index]