Operators
An operator is a token
in the Ruby language that represents an operation (such as addition or
comparison) to be performed on one or more operands. The operands are
expressions, and operators allow us to combine these operand expressions
into larger expressions. The numeric literal 2 and the operator +, for example, can be combined into the
expression 2+2. And the following
expression combines a numeric literal, a method invocation expression,
and a variable reference expression with the multiplication operator and
the less-than operator:
2 * Math.sqrt(2) < limit
Table 4-2 later in this section summarizes each of Ruby’s operators, and the sections that follow describe each one in detail. To fully understand operators, however, you need to understand operator arity, precedence, and associativity.
The arity of an operator is the number of
operands it operates on. Unary operators expect a single operand. Binary
operators expect two operands. Ternary operators (there is only one of these) expect three operands. The arity of each
operator is listed in column N of Table 4-2. Note
that the operators + and – have both unary and binary forms.
The precedence of an operator specifies how “tightly” an operator is bound to its operands, and affects the order of evaluation of an expression. Consider this expression, for example:
1 + 2 * 3 # => 7
The multiplication operator has higher precedence than the addition operator, so the multiplication is performed first and the expression evaluates ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access