eval_dirty: Evaluate expressions

View source: R/language.R

eval_dirtyR Documentation

Evaluate expressions

Description

Evaluate expressions

Usage

eval_dirty(expr, env = parent.frame(), data = NULL, quoted = TRUE)

Arguments

expr

R expression or 'rlang' quo

env

environment to evaluate

data

dataframe or list

quoted

Is the expression quoted? By default, this is TRUE. This is useful when you don't want to use an expression that is stored in a variable; see examples

Details

eval_dirty uses base::eval() function to evaluate expressions. Compare to rlang::eval_tidy, which won't affect original environment, eval_dirty causes changes to the environment. Therefore if expr contains assignment, environment will be changed in this case.

Value

the executed results of expr evaluated with side effects.

Examples


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)


dipsaus documentation built on June 27, 2024, 5:10 p.m.