|
@@ -219,59 +219,65 @@ Operators
|
|
|
|
|
|
The following is the list of supported operators and their precedence.
|
|
|
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| **Operator** | **Description** |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``x[index]`` | Subscription (highest priority) |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``x.attribute`` | Attribute reference |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``foo()`` | Function call |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``is`` | Instance type checker |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``~`` | Bitwise NOT |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``-x`` | Negative / Unary negation |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``*`` ``/`` ``%`` | Multiplication / Division / Remainder |
|
|
|
-| | |
|
|
|
-| | These operators have the same behavior |
|
|
|
-| | as C++. Integer division is truncated |
|
|
|
-| | rather than returning a fractional |
|
|
|
-| | number, and the % operator is only |
|
|
|
-| | available for ints ("fmod" for floats), |
|
|
|
-| | and is additionally used for Format |
|
|
|
-| | Strings |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``+`` | Addition / Concatenation of arrays |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``-`` | Subtraction |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``<<`` ``>>`` | Bit shifting |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``&`` | Bitwise AND |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``^`` | Bitwise XOR |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``|`` | Bitwise OR |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``<`` ``>`` ``==`` ``!=`` ``>=`` ``<=`` | Comparisons |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``in`` | Content test |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``not`` | Boolean NOT |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``and`` | Boolean AND |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``or`` | Boolean OR |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``if x else`` | Ternary if/else |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``as`` | Type casting |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
-| ``=`` ``+=`` ``-=`` ``*=`` ``/=`` ``%=`` ``&=`` ``|=`` ``<<=`` ``>>=`` | Assignment (lowest priority) |
|
|
|
-+------------------------------------------------------------------------+-----------------------------------------+
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| **Operator** | **Description** |
|
|
|
++================================================================================+===========================================+
|
|
|
+| ``x[index]`` | Subscription (highest priority) |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``x.attribute`` | Attribute reference |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``foo()`` | Function call |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``is`` | Instance type checker |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``**`` | Power operator |
|
|
|
+| | |
|
|
|
+| | Multiplies value by itself ``x`` times, |
|
|
|
+| | similar to calling ``pow`` built-in |
|
|
|
+| | function |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``~`` | Bitwise NOT |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``-x`` | Negative / Unary negation |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``*`` ``/`` ``%`` | Multiplication / Division / Remainder |
|
|
|
+| | |
|
|
|
+| | These operators have the same behavior |
|
|
|
+| | as C++. Integer division is truncated |
|
|
|
+| | rather than returning a fractional |
|
|
|
+| | number, and the % operator is only |
|
|
|
+| | available for ints (``fmod`` for floats), |
|
|
|
+| | and is additionally used for Format |
|
|
|
+| | Strings |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``+`` | Addition / Concatenation of arrays |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``-`` | Subtraction |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``<<`` ``>>`` | Bit shifting |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``&`` | Bitwise AND |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``^`` | Bitwise XOR |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``|`` | Bitwise OR |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``<`` ``>`` ``==`` ``!=`` ``>=`` ``<=`` | Comparisons |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``in`` | Content test |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``not`` | Boolean NOT |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``and`` | Boolean AND |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``or`` | Boolean OR |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``if x else`` | Ternary if/else |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``as`` | Type casting |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
+| ``=`` ``+=`` ``-=`` ``*=`` ``/=`` ``%=`` ``**=`` ``&=`` ``|=`` ``<<=`` ``>>=`` | Assignment (lowest priority) |
|
|
|
++--------------------------------------------------------------------------------+-------------------------------------------+
|
|
|
|
|
|
Literals
|
|
|
~~~~~~~~
|