Order of Precedence: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Add Columns template usage)
m (Text replacement - "<tt>([a-zA-Z0-9\. _"\\']+)<\/tt>" to "{{hl|$1}}")
Line 18: Line 18:
|
|
Nular operators (commands with no arguments):
Nular operators (commands with no arguments):
* <tt>commandName</tt>
* {{hl|commandName}}
|
|
* [[Variables]]
* [[Variables]]
Line 27: Line 27:
|
|
Unary operators (commands with 1 argument):
Unary operators (commands with 1 argument):
* <tt>commandName</tt> a
* {{hl|commandName}} a
| {{Columns|2|
| {{Columns|2|
* [[+ |+a]]
* [[+ |+a]]
Line 84: Line 84:
|
|
Binary operators (commands with 2 arguments):
Binary operators (commands with 2 arguments):
* a <tt>commandName</tt> b
* a {{hl|commandName}} b
|
|
* [[setDir]]
* [[setDir]]

Revision as of 00:54, 16 November 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

  • Highest precedence means highest priority
  • Associativity is (then) done from left to right, for example 3 + 5 + 8 will be processed as ((3 + 5) + 8)
Precedence Type of Operator Examples
11

Nular operators (commands with no arguments):

  • commandName
10

Unary operators (commands with 1 argument):

  • commandName a
9 Hash-select operator
8 Power operator
7
6
5 N/A
4

Binary operators (commands with 2 arguments):

  • a commandName b
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.

sleep (10 + random 20) should be used instead