lazyeval (version 0.2.1)

lazy_dots: Capture ... (dots) for later lazy evaluation.

Description

Capture ... (dots) for later lazy evaluation.

Usage

lazy_dots(..., .follow_symbols = FALSE, .ignore_empty = FALSE)

Arguments

...

Dots from another function

.follow_symbols

If TRUE, the default, follows promises across function calls. See vignette("chained-promises") for details.

.ignore_empty

If TRUE, empty arguments will be ignored.

Value

A named list of lazy expressions.

Examples

Run this code
# NOT RUN {
lazy_dots(x = 1)
lazy_dots(a, b, c * 4)

f <- function(x = a + b, ...) {
  lazy_dots(x = x, y = a + b, ...)
}
f(z = a + b)
f(z = a + b, .follow_symbols = TRUE)

# .follow_symbols is off by default because it causes problems
# with lazy loaded objects
lazy_dots(letters)
lazy_dots(letters, .follow_symbols = TRUE)

# You can also modify a dots like a list. Anything on the RHS will
# be coerced to a lazy.
l <- lazy_dots(x = 1)
l$y <- quote(f)
l[c("y", "x")]
l["z"] <- list(~g)

c(lazy_dots(x = 1), lazy_dots(f))
# }

Run the code above in your browser using DataCamp Workspace