# NOT RUN {
call <- quote(mean(x, na.rm = TRUE))
# Modify an existing argument
lang_modify(call, na.rm = FALSE)
lang_modify(call, x = quote(y))
# Remove an argument
lang_modify(call, na.rm = NULL)
# Add a new argument
lang_modify(call, trim = 0.1)
# Add an explicit missing argument
lang_modify(call, na.rm = quote(expr = ))
# Supply a list of new arguments with splice()
newargs <- list(na.rm = NULL, trim = 0.1)
lang_modify(call, splice(newargs))
# Supply a call frame to extract the frame expression:
f <- function(bool = TRUE) {
lang_modify(call_frame(), splice(list(bool = FALSE)))
}
f()
# You can also modify quosures inplace:
f <- ~matrix(bar)
lang_modify(f, quote(foo))
# }
Run the code above in your browser using DataLab