Arithmetic Operators: Difference between revisions
>JulienDethurens |
>JulienDethurens |
||
Line 21: | Line 21: | ||
==Parentheses== | ==Parentheses== | ||
Parentheses can be used in Lua | Parentheses can be used in Lua. If you want something calculated first, put it in parentheses. | ||
'''Example:''' | |||
<code lua> | |||
print((10 / 20) / 5) -- is equal to .5 / 5, which is .1 | print((10 / 20) / 5) -- is equal to .5 / 5, which is .1 | ||
print(10 / (20 / 5)) -- is equal to 10 / 4, which is 2.5 | print(10 / (20 / 5)) -- is equal to 10 / 4, which is 2.5 | ||
</code> | </code> | ||
Following the associative properties of multiplication and addition, it does not matter how you organize the parentheses in certain instances | Following the associative properties of multiplication and addition, it does not matter how you organize the parentheses in certain instances. | ||
'''Example:''' | |||
<code lua> | |||
print((10 + 20) + 5) -- is equal to 30 + 5, which is 35 | print((10 + 20) + 5) -- is equal to 30 + 5, which is 35 | ||
print(10 + (20 + 5)) -- is equal to 10 + 25, which is 35 | print(10 + (20 + 5)) -- is equal to 10 + 25, which is 35 | ||
Line 36: | Line 38: | ||
print((10 * 20) * 5) -- is equal to 200 * 5, which is 1000 | print((10 * 20) * 5) -- is equal to 200 * 5, which is 1000 | ||
print(10 * (20 * 5)) -- is equal to 10 * 100, which is 1000 | print(10 * (20 * 5)) -- is equal to 10 * 100, which is 1000 | ||
</code> | </code> | ||
==Precedence== | ==Precedence== |
Revision as of 12:52, 5 March 2012
Roblox Lua can do mathematical calculations, much like any calculator. In Lua, there are:
- + Addition (e.g., 2 + 3 = 5)
- - Subtraction (e.g., 5 - 2 = 3)
- * Multiplication (e.g., 5 * 2 = 10)
- / Division (e.g., 8 / 2 = 4)
- - Unary Negation (e.g., -(20) = -20)
- ^ Exponentiation (e.g., 5 ^ 5 = 3125)
- % Modulus (Percent) (Returns the remainder of a division between two numbers e.g. 11 % 3 = 2)
print(2 + 3) --> 5
print(5 - 2) --> 3
print(5 * 2) --> 10
print(8 / 2) --> 4
print(-(20)) --> -20
print(23 % 4) --> 3
Parentheses
Parentheses can be used in Lua. If you want something calculated first, put it in parentheses.
Example:
print((10 / 20) / 5) -- is equal to .5 / 5, which is .1
print(10 / (20 / 5)) -- is equal to 10 / 4, which is 2.5
Following the associative properties of multiplication and addition, it does not matter how you organize the parentheses in certain instances.
Example:
print((10 + 20) + 5) -- is equal to 30 + 5, which is 35
print(10 + (20 + 5)) -- is equal to 10 + 25, which is 35
print((10 * 20) * 5) -- is equal to 200 * 5, which is 1000
print(10 * (20 * 5)) -- is equal to 10 * 100, which is 1000
Precedence
For the mathematic operators, Lua follows the same rules as the ones usually followed in mathematics, the ones you have been taught or will be taught at school, with the modulus operator having the same priority as multiplication and division. That means mathematic operations will be executed in the order below:
- Exponentiation (^)
- Multiplication, division and modulus (*, / and %)
- Addition and subtraction (+ and -)
Just like in normal math, you can use parenthesis to change the order.
Note that multiplication and division have the same precedence, as well as addition and subtraction. This means that they will occur in whatever order they appear from left-to-right after exponents, not necessarily multiplication and then division.