op-definition {rlang}R Documentation

Definition operator

Description

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 quasiquotation).

Usage

is_definition(x)

new_definition(lhs, rhs, env = caller_env())

is_formulaish(x, scoped = NULL, lhs = NULL)

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.

Details

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.

Life cycle

These functions are experimental.

Examples


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

[Package rlang version 0.2.2 Index]