|
Onetastic Macro Documentation >
>
Operators Operators
Macro expressions can contain several different operators. They can be used for
assignments, comparisons, arithmetic or logical operations and string concatenations.
Following is a list of all the operators. Operators can be operating on one (unary), two
(binary) or three (ternary) sub expressions:
Arithmetic Operators |
| Operator | Name | Type |
| + | Addition | binary |
| – | Subtraction | binary |
| * | Multiplication | binary |
| / | Division | binary |
| % | Modulo | binary |
| – | Unary Minus | unary |
| + | Unary Plus | unary |
| |
Increment/Decrement Operators |
| Operator | Name | Type |
| ++$v | Pre-Increment | unary |
| ––$v | Pre-Decrement | unary |
| $v++ | Post-Increment | unary |
| $v–– | Post-Decrement | unary |
| |
Assignment Operators |
| Operator | Name | Type |
| = | Assignment | binary |
| += | Addition Assignment | binary |
| –= | Subtraction Assignment | binary |
| *= | Multiplication Assignment | binary |
| /= | Division Assignment | binary |
| %= | Modulo Assignment | binary |
| &&= | Logical And Assignment | binary |
| ||= | Logical Or Assignment | binary |
| &= | Concatenation Assignment | binary |
| |
Comparison Operators |
| Operator | Name | Type |
| == | Equals | binary |
| != | Not Equals | binary |
| < | Less Than | binary |
| <= | Less Than or Equals | binary |
| > | Greater Than | binary |
| >= | Greater Than or Equals | binary |
| |
Logical Operators |
| Operator | Name | Type |
| && | Logical And | binary |
| || | Logical Or | binary |
| ! | Logical Not | unary |
| |
String Concatenation Operator |
| Operator | Name | Type |
| & | Concatenation | binary |
| |
Ternary Operator |
| Operator | Name | Type |
| ?: | Ternary Operator | ternary |
Operator Precedence
In macro expressions, following operator precedence rules apply. The order of operations
can be changed by providing parantheses.
| Precedence | Category | Operators |
| 1 | Increment/Decrement | ++ | –– | | | | | | | |
| 2 | Unary | ! | – | + | | | | | | |
| 3 | Product | * | / | % | | | | | | |
| 4 | Sum & Concatenation | + | – | & | | | | | | |
| 5 | Comparison | == | != | < | <= | > | >= | | | |
| 6 | Logical And | && | | | | | | | | |
| 7 | Logical Or | || | | | | | | | | |
| 8 | Ternary | ?: | | | | | | | | |
| 9 | Assignment | = | += | –= | *= | /= | %= | &&= | ||= | &= |
Note: Assignments are evaluated right to left
|