rlang (version 0.0.0.9000)

op-definition: Definition operator.

Description

The definition operator is typically used in DSL packages like ggvis and data.table. It is exported in rlang as a alias to ~. This makes it a quoting operator that can be shared between packages for computing on the language. Since it effectively creates formulas, it is immediately compatible with rlang's formulas and interpolation features.

Usage

":="()
is_definition(x)
new_definition(lhs, rhs, env = caller_env())

Arguments

x
An object to test.
lhs, rhs
Expressions for the LHS and RHS of the definition.
env
The evaluation environment bundled with the definition.

Examples

Run this code
# This is useful to provide an alternative way of specifying
# arguments in DSLs:
fn <- function(...) ..1
f <- fn(arg := foo(bar) + baz)

is_formula(f)
f_lhs(f)
f_rhs(f)

# A predicate is provided to distinguish formulas from the
# colon-equals operator:
is_definition(a := b)
is_definition(a ~ b)

Run the code above in your browser using DataLab