Euphoria - 運算子



Euphoria 提供了一套豐富的運算子來操作變數。我們可以將所有 Euphoria 運算子分為以下幾組:

  • 算術運算子
  • 關係運算符
  • 邏輯運算子
  • 賦值運算子
  • 其他運算子

算術運算子

算術運算子在數學表示式中的使用方式與在代數中相同。下表列出了算術運算子。假設整數變數 A 為 10,變數 B 為 20,則:

顯示示例

運算子 描述 示例
+ 加法 - 將運算子兩側的值相加 A + B 將得到 30
- 減法 - 從左運算元中減去右運算元 A - B 將得到 -10
* 乘法 - 將運算子兩側的值相乘 A * B 將得到 200
/ 除法 - 將左運算元除以右運算元 B / A 將得到 2
+ 一元加 - 這對變數值沒有影響。 +B 得到 20
- 一元減 - 這將建立給定變數的負值。 -B 得到 -20

關係運算符

Euphoria 語言支援以下關係運算符。假設變數 A 為 10,變數 B 為 20,則:

顯示示例

運算子 描述 示例
= 檢查兩個運算元的值是否相等,如果相等,則條件為真。 (A = B) 為假。
!= 檢查兩個運算元的值是否相等,如果不相等,則條件為真。 (A != B) 為真。
> 檢查左運算元的值是否大於右運算元的值,如果大於,則條件為真。 (A > B) 為假。
< 檢查左運算元的值是否小於右運算元的值,如果小於,則條件為真。 (A < B) 為真。
>= 檢查左運算元的值是否大於或等於右運算元的值,如果大於或等於,則條件為真。 (A >= B) 為假。
<= 檢查左運算元的值是否小於或等於右運算元的值,如果小於或等於,則條件為真。 (A <= B) 為真。

邏輯運算子

下表列出了邏輯運算子。假設布林變數 A 為 1,變數 B 為 0,則:

顯示示例

運算子 描述 示例
and 稱為邏輯與運算子。如果兩個運算元都不為零,則條件為真。 (A and B) 為假。
or 稱為邏輯或運算子。如果兩個運算元中任何一個不為零,則條件為真。 (A or B) 為真。
xor 稱為邏輯異或運算子。如果其中一個為真,則條件為真;如果兩個運算元都為真或都為假,則條件為假。 (A xor B) 為真。
not 稱為邏輯非運算子,它否定結果。使用此運算子,真變為假,假變為真。 not(B) 為真。

您還可以將這些運算子應用於除 1 或 0 之外的數字。約定是:零表示假,非零表示 *真*。

賦值運算子

Euphoria 語言支援以下賦值運算子:

顯示示例

運算子 描述 示例
= 簡單賦值運算子,將值從右運算元賦值給左運算元。 C = A + B 將 A + B 的值賦給 C
+= 加法賦值運算子,它將右運算元新增到左運算元,並將結果賦給左運算元。 C += A 等效於 C = C + A
-= 減法賦值運算子,它從左運算元中減去右運算元,並將結果賦給左運算元。 C -= A 等效於 C = C - A
*= 乘法賦值運算子,它將右運算元與左運算元相乘,並將結果賦給左運算元。 C *= A 等效於 C = C * A
/= 除法賦值運算子,它將左運算元除以右運算元,並將結果賦給左運算元。 C /= A 等效於 C = C / A
&= 連線運算子 C &= {2} 與 C = {C} & {2} 相同

注意 - 賦值語句中使用的等號 '=' 不是運算子,它只是語法的一部分。

其他運算子

Euphoria 語言支援一些其他運算子。

& 運算子

可以使用“&”運算子連線任何兩個物件。結果是一個序列,其長度等於連線物件的長度之和。

例如:

#!/home/euphoria-4.0b2/bin/eui

sequence a, b, c
a = {1, 2, 3}
b = {4}
c = {1, 2, 3} & {4}

printf(1, "Value of c[1] %d\n", c[1] )
printf(1, "Value of c[2] %d\n", c[2] )
printf(1, "Value of c[3] %d\n", c[3] )
printf(1, "Value of c[4] %d\n", c[4] )

這將產生以下結果:

Value of c[1] 1
Value of c[2] 2
Value of c[3] 3
Value of c[4] 4

Euphoria 運算子的優先順序

運算子優先順序決定了表示式中項的分組。這會影響表示式的計算方式。某些運算子的優先順序高於其他運算子;例如,乘法運算子的優先順序高於加法運算子。

例如,x = 7 + 3 * 2

這裡,x 被賦值為 13,而不是 20,因為運算子 * 的優先順序高於 +。

因此,它首先計算 3*2,然後加到 7 中。

這裡,優先順序最高的運算子出現在表的最上方,優先順序最低的運算子出現在表的最下方。在表示式中,首先計算優先順序較高的運算子。

類別 運算子 結合性
字尾 函式/型別呼叫  
一元 + - ! not 右到左
乘法 * / 左到右
加法 + - 左到右
連線 & 左到右
關係 > >= < <= 左到右
相等 = != 左到右
邏輯與 and 左到右
邏輯或 or 左到右
邏輯異或 xor 左到右
逗號 , 左到右
廣告
© . All rights reserved.