A wrapped expression that can be used with operators to generate new expressions

delayed_expr(expr, expr_str = NULL)

Arguments

expr

an expression

expr_str

text that you want to show when this expression is printed. If NULL, the expression supplied by parameter 'expr' is used for printing.

Value

A delayed_expr object

Examples

# define a delayed expression f_delay <- function() { delayed_expr(size) } # create a new expression y = (1 + f_delay()) == 5 # print the unevaluated expression y
#> [1] "((1 + size) == 5)"
if (FALSE) { # evaluation generates an error, as size is not defined delayed_eval(y) } # define size and re-evaluate size = 0.1 delayed_eval(y)
#> [1] FALSE
# make the expression evaluate to TRUE size = 4 delayed_eval(y)
#> [1] TRUE
# custom printing text can be added to the delayed expression f_delay <- function() { delayed_expr(size, "f_delay()") } # create a new expression y = (1 + f_delay()) == 5 # print with custom text y
#> [1] "((1 + f_delay()) == 5)"