R: Definition operator

op-definition {rlang} | R Documentation

## 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

    # 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)

[Package rlang version 0.1.6 Index]