Description Usage Arguments Details Examples
lazy()
uses non-standard evaluation to turn promises into lazy
objects; lazy_()
does standard evaluation and is suitable for
programming.
1 2 3 | lazy_(expr, env)
lazy(expr, env = parent.frame(), .follow_symbols = TRUE)
|
expr |
Expression to capture. For |
env |
Environment in which to evaluate expr. |
.follow_symbols |
If |
Use lazy()
like you'd use substitute()
to capture an unevaluated promise. Compared to substitute()
it
also captures the environment associated with the promise, so that you
can correctly replay it in the future.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | lazy_(quote(a + x), globalenv())
# Lazy is designed to be used inside a function - you should
# give it the name of a function argument (a promise)
f <- function(x = b - a) {
lazy(x)
}
f()
f(a + b / c)
# Lazy also works when called from the global environment. This makes
# easy to play with interactively.
lazy(a + b / c)
# By default, lazy will climb all the way back to the initial promise
# This is handy if you have if you have nested functions:
g <- function(y) f(y)
h <- function(z) g(z)
f(a + b)
g(a + b)
h(a + b)
# To avoid this behavour, set .follow_symbols = FALSE
# See vignette("chained-promises") for details
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.