Operators
Comparison Operators
Operator | Description |
---|---|
== |
true if the two values are equal. |
!= |
true if the two values are not equal. |
< |
true if the value of the operand on the left is less than the value on the right. |
> |
true if the value of the operand on the left is greater than the value on the right. |
>= |
true if the value of the operand on the left is greater than or equal to the value on the right. |
<= |
true if the value of the operand on the left is less than or equal to the value on the right. |
<=> |
0 if the value of the operand on the left is equal to the value on the right,1 if the value of the operand on the left is greater than the value on the right,-1 if the value of the operand on the left is less than the value on the right. |
Assignment Operators
Simple Assignment
=
is a simple assignment. It creates a new local variable if the variable was not previously referenced.
x = 3
y = 4 + 5
puts "x is #{x}, y is #{y}"
This will output:
x is 3, y is 9
Parallel Assignment
Variables can also be assigned in parallel, e.g. x, y = 3, 9
. This is especially useful for swapping values:
x, y = 3, 9
x, y = y, x
puts "x is #{x}, y is #{y}"
This will output:
x is 9, y is 3
Abbreviated Assignment
Itβs possible to mix operators and assignment. For example:
x = 1
y = 2
puts "x is #{x}, y is #{y}"
x += y
puts "x is now #{x}"
Shows the following output:
x is 1, y is 2
x is now 3
Various operations can be used in abbreviated assignment:
Operator | Description | Example | Equivalent to |
---|---|---|---|
+= |
Adds and reassigns the variable | x += y |
x = x + y |
-= |
Subtracts and reassigns the variable | x -= y |
x = x - y |
*= |
Multiplies and reassigns the variable | x *= y |
x = x * y |
/= |
Divides and reassigns the variable | x /= y |
x = x / y |
%= |
Divides, takes the remainder, and reassigns the variable | x %= y |
x = x % y |
**= |
Calculates the exponent and reassigns the variable | x **= y |
x = x ** y |