Yorick Language Reference
Yorick supports C-style logical AND and OR operators. Unlike the arithmetic
and comparison operators, these take only scalar operands and return a
scalar int result. Their precedence is between | and
The right operand is not evaluated at all if the value of the left operand
decides the result value; hence the left operand may be used to determine
whether the evaluation of the right operand would lead to an error.
&& logical and (scalar int result)
|| logical or (scalar int result)
The logical NOT operator takes an array or a scalar operand, returning
1 if the operand was zero, 0 otherwise. Its precedence is above ^.
! logical not (int result)
The ternary operator selects one of two values based on the value of
a scalar condition:
condition ? true_expr : false_expr
Its precedence is low, and it must be parenthesized in a function argument
list or an array index list to prevent confusion with the : in
the index range syntax. Like && and ||, the expression
which is rejected is not evaluated at all.