rlang (version 0.1.4)

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
# NOT RUN {
# 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 DataCamp Workspace