Now that we have established our most common data types, let's look at Ruby's operators. They are arranged here in order from highest to lowest precedence:
:: | Scope |
[] | Indexing |
** | Exponentiation |
+ - ! ~ | Unary pos/neg, not, .... |
* / % | Multiplication, division, .... |
+ - | Addition/subtraction |
<< >> | Logical shifts, ... |
& | Bitwise and |
| ^ | Bitwise or, xor |
> >= < <= | Comparison |
== === <=> != =~ !~ | Equality, inequality, .... |
&& | Boolean and |
|| | Boolean or |
.. ... | Range operators |
= (also +=, -=, ...) | Assignment |
?: | Ternary decision |
not | Boolean negation |
and or | Boolean and, or |
Some of the preceding symbols serve more than one purpose; for example, the operator << is a bitwise left shift but is also an append operator (for arrays, strings, and so on) and a marker for a here-document. Likewise the + is for numeric addition as well as for string concatenation. As we shall see later, many of these operators are just shortcuts for method names.
No comments:
Post a Comment