Indifferent wrote:
What do they do? What are the brackets for?
I sort of remember doing something simular to this when I was using
excel in a course i did. Is the number is the brackets calculated first?
Can someone explain this to me? Or give me a link were I can find more
information.
Extreamly confused newbie! Please help!
When you have an expression that uses more than one arithmetic operator,
such as 6 + 12 / 3, it’s not always obvious which operations should be
performed first. Should we add 6 and 12 first, or divide 12 by 3 and
then add 6?
Ruby follows a couple of very simple rules in this case.
Rule 1: First do all the multiplications and divisions, then all the
additions and subtractions.
Rule 2: If there are more than 1 multiplication or division, or more
than one addition or subtraction, do them from left to right.
So, for 6 + 12 / 3, Ruby divides 12 by 3 first, which gives it 4, and
then adds 6 and 4, so the result is 10.
Now it’s possible that you may want Ruby to actually add 6 and 12 and
then divide the result by 3, so Ruby gives you a way to tell it to do it
that way. To do this, enclose 6 + 12 in parentheses: (6 + 12) / 3. Ruby
will do the addition, getting 18, and then divide 18 / 3, giving 6.
You can nest the parentheses, in which case the most deeply nested
expressions are evaluated first: ((3+5)/2)+6 means “add 3 and 5, divide
by 2, and add 6”.
For rule 2, given the expression 24 / 2 * 3, since division and
multiplication are equally “important,” Ruby just goes left to right.
First it divides 24 / 2, giving 12, then multiplies by 3, giving 36.
Similarly, for 12 + 3 - 5, Ruby adds 12 and 3, giving 15, and then
subtracts 5, giving 10.
Regarding -15, or -52, consider that most arithmetic operations are
“binary,” that is, the operation produces a result by combining two
numbers. However, we can say that a number is negative by preceding it
with a minus sign. The minus sign is called a “unary” operator. That is,
it produces its result from only one number.
Since a unary minus sign negates the number it precedes, 25 + =15 adds a
negative 15 to 25, which is the same as subtracting 15 from 25.