delay {base} | R Documentation

## Delay Evaluation

### Description

`delay` creates a promise to evaluate the given expression in the specified environment if its value is requested. This provides direct access to lazy evaluation mechanism used by R for the evaluation of (interpreted) functions.

### Usage

    delay(x, env=.GlobalEnv)

### Arguments

`x` | an expression.
`env` | an evaluation environment

### Details

This is an experimental feature and its addition is purely for evaluation purposes.

### Value

A promise to evaluate the expression. The value which is returned by `delay` can be assigned without forcing its evaluation, but any further accesses will cause evaluation.

### Examples

    x <- delay({
        for(i in 1:7)
            cat("yippee!\n")
        10
    })

    x^2#- yippee
    x^2#- simple number