This is an alternative to subsitute that performs one job, and so gives a stronger signal regarding the intention of your code. It returns an error if the name is not associated with a promise.

uneval(x)

Arguments

x

unquoted variable name that refers to a promise. An error will be thrown if it's not a promise.

See also

Other promise tools: is_promise()

Examples

f <- function(x) {
   uneval(x)
}
f(a + b)
#> a + b
f(1 + 4)
#> 1 + 4

delayedAssign("x", 1 + 4)
uneval(x)
#> 1 + 4
x
#> [1] 5
uneval(x)
#> 1 + 4