These helpers are useful to make your function work generically
with quosures and raw expressions. First call get_expr() to
extract an expression. Once you're done processing the expression,
call set_expr() on the original object to update the expression.
You can return the result of set_expr(), either a formula or an
expression depending on the input type. Note that set_expr() does
not change its input, it creates a new object.
See also
quo_get_expr() and quo_set_expr() for versions of
get_expr() and set_expr() that only work on quosures.
Examples
f <- ~foo(bar)
e <- quote(foo(bar))
frame <- identity(identity(ctxt_frame()))
#> Warning: `ctxt_frame()` is deprecated as of rlang 0.3.0.
#> This warning is displayed once every 8 hours.
get_expr(f)
#> foo(bar)
get_expr(e)
#> foo(bar)
get_expr(frame)
#> identity(ctxt_frame())
set_expr(f, quote(baz))
#> ~baz
#> <environment: 0x55d6f99ca5d8>
set_expr(e, quote(baz))
#> baz
