內建運算子
Blackey Script的運算子順序大多與C語言相近,
以下我們依照優先度將運算子進行排序,排序在越前面的運算子優先權越高。
沒有特別註明的優先順序都是由左至右進行計算。
舉例來說,下面這個算式:
x = 5;
y = z = 1 * -2 + 3 * 4 – -x;
其中一元否定運算是群組2,相對於其他人運算子都還要來得高。
再來是乘法,乘法是群組3,相對於加法減法(群組4)來得高。
加減法運算完後,最後才是指定符號(群組9,由右至左進行計算)
那麼最後計算完之後y的值會等於z等於15。
群組 1
功能 | 運算子 | 範例 |
函式呼叫 | () | print(x); |
群組 2,由右至左
功能 | 運算子 | 範例 |
一元否定運算 | – | x = -1;
y = 1 * -3; |
群組 3
功能 | 運算子 | 範例 |
乘法 | * | x = 1 * 2; |
除法 | / | x = 6 / 2; |
模數 | % | x = 5 % 3; |
群組 4
功能 | 運算子 | 範例 |
加法 | + | x = 1 + 2; |
減法 | – | x = 1 – 2; |
群組 5
功能 | 運算子 | 範例 |
小於 | < | x < 1 |
大於 | > | x > 1 |
小於或等於 | <= | x <= 1 |
大於或等於 | >= | x >= 1 |
群組 6
功能 | 運算子 | 範例 |
相等 | == | x == 1 |
不等 | != | x != 1 |
群組 7
功能 | 運算子 | 範例 |
邏輯AND | && | x && y |
群組 8
功能 | 運算子 | 範例 |
邏輯OR | || | x || y |
群組 9,由右至左
功能 | 運算子 | 範例 |
指派 | = | x = 1;
x = y = z = 1; |
群組 10
功能 | 運算子 | 範例 |
逗號 | , | x = 1, y = 2;print(x, y); |