| op-definition {rlang} | R Documentation |
The definition operator is typically used in DSL packages like
ggvis and data.table. It is also used in the tidyverse as a way
of unquoting names (see nse-force).
is_definition() returns TRUE for calls to :=.
is_formulaish() returns TRUE for both formulas and
colon-equals operators.
is_definition(x) new_definition(lhs, rhs, env = caller_env()) is_formulaish(x, scoped = NULL, lhs = NULL)
x |
An object to test. |
lhs, rhs |
Expressions for the LHS and RHS of the definition. |
env |
The evaluation environment bundled with the definition. |
The recommended way to use it is to capture arguments as
expressions or quosures. You can then give a special function
definition for the := symbol in an overscope. Note that if you
capture dots with exprs() or quos(), you need to disable
interpretation of := by setting .unquote_names to FALSE.
From rlang and data.table perspectives, this operator is not meant to be evaluated directly at top-level which is why the exported definitions issue an error.
These functions are experimental.
# A predicate is provided to distinguish formulas from the # colon-equals operator: is_definition(quote(a := b)) is_definition(a ~ b) # is_formulaish() tests for both definitions and formulas: is_formulaish(a ~ b) is_formulaish(quote(a := b))