Order of Precedence: Difference between revisions
Jump to navigation
Jump to search
m (fixed category) |
m (Text replacement - "{{Inline code|" to "{{ic|") |
||
Line 6: | Line 6: | ||
{{Feature | Informative | | {{Feature | Informative | | ||
* Highest precedence means highest priority | * Highest precedence means highest priority | ||
* Associativity is (then) done from left to right, for example {{ | * Associativity is (then) done from left to right, for example {{ic|3 + 5 + 8}} will be processed as {{ic|((3 + 5) + 8)}} | ||
}} | }} | ||
Line 137: | Line 137: | ||
| | | | ||
([[sleep]] 10) + [[random]] 20 | ([[sleep]] 10) + [[random]] 20 | ||
| {{ | | {{ic|[[sleep]] 10}} will return [[Nothing]], then {{ic|+ [[random]] 20}} will be calculated but not used.<br> | ||
{{ | {{ic|[[sleep]] (10 + [[random]] 20)}} should be used instead | ||
|} | |} | ||
</onlyinclude> | </onlyinclude> | ||
[[Category:Syntax]] | [[Category:Syntax]] |
Revision as of 18:10, 27 February 2021
Introduction
Order of operations, also called operator precedence, is a set of rules specifying which procedures should be performed first in a mathematical expression.
Precedence Overview
Precedence | Type of Operator | Examples |
---|---|---|
11 |
Nular operators (commands with no arguments):
|
|
10 |
Unary operators (commands with 1 argument):
|
|
9 | Hash-select operator | |
8 | Power operator | |
7 | ||
6 | ||
5 | N/A | |
4 |
Binary operators (commands with 2 arguments):
|
|
3 | ||
2 | Logical and operator | |
1 | Logical or operator |
Examples
Input | Process | Comment |
---|---|---|
1 + 2 * 3 |
1 + (2 * 3) |
result equals 7, and not 9 (see also PEMDAS) |
sleep 10 + random 20 |
(sleep 10) + random 20 |
sleep 10 will return Nothing, then + random 20 will be calculated but not used. |