Arithmetic Operators
Learn about the different arithmetic operators and their usage.
We'll cover the following
Relation between operators and operands
For numbers, the +
and *
operators mean the mathematical operations of adding and multiplying two numbers. There are other arithmetic operators. Here’s a full list:
+
: Addition-
: Subtraction*
:Multiplication/
: Division**
: Exponentiation%
: Modulo (the signed remainder of a division, for example,5 % 2
returns1
)
However, some of these operators are also defined on other objects, like strings and arrays.
Try these out:
puts 2 ** (-3)puts (-2) ** 3
Operator behavior depends on data types
Recall that some of these operators mean something different for strings. Using a +
on two strings simply means that they’ll concatenate into one long string. Using a *
between a string and a number repeats it that many times.
We saw something similar for arrays.
p "ruby" + "!"p "ruby" * 3p [1, 2] + [3, 4]p [1, 2] * 3
Again, the +
operator serves to combine two arrays into one big array, while the *
operator applied to an array and a number produces a large array with the original elements repeated.