env = new.env(); env$a = 1
rlang::eval_tidy(quote({a <- 111}), env = env)
print(env$a) # Will be 1. This is because eval_tidy has no side effect
eval_dirty(quote({a <- 111}), env)
print(env$a) # 111, a is changed
# Unquoted case
eval_dirty({a <- 222}, env, quoted = FALSE)
print(env$a)
Run the code above in your browser using DataLab