Lua運算符

運算符是告訴解釋器執行特定數學或邏輯操作的符號。 Lua語言內置運算符豐富,並提供以下類型的運算符 -

  • 算術運算符
  • 關係運算符
  • 邏輯運算符
  • 其他運算符

本教程將逐一解釋算術,關係,邏輯和其他雜項運算符。

1. 算術運算符

下表顯示了Lua語言支持的所有算術運算符。 假設變數A=10,變數B=20,然後 -

運算符 描述 示例
+ 相加兩個運算元 A + B = 30
- 從第一個減去第二個運算元 A - B = -10
* 將兩個運算元相乘 A * B = 200
/ 用除分子除以分子 B / A = 2
% 模數運算符,整數除法後的餘數 B % A = 0
^ 指數運算符取指數冪值 A^2 = 100
- 一元,充當否定 -A = -10

算術運算符示例代碼

2. 關係運算符

下表顯示了Lua語言支持的所有關係運算符。 假設變數A=10,變數B=20,然後 -

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

關係運算符示例代碼

3. 邏輯運算符

下表顯示了Lua語言支持的所有邏輯運算符。 假設變數A=true,變數B=false,則 -

運算符 描述 示例
and 邏輯與運算符。如果兩個運算元都不為零,則條件成立。 (A and B) 結果為false
or 邏輯或運算符。 如果兩個運算元中的任何一個不為零,則條件變為真。 (A or B) 結果為true
not 邏輯非運算符。用於反轉其運算元的邏輯狀態。 如果條件為真,則邏輯非運算符將為false !(A and B)結果為true

邏輯運算符示例

4. 雜項運算符

Lua語言支持的其他運算符包括連接和長度。

編號 描述 示例
... 連接兩個字串 如果aHellobWorlda..b將返回Hello World
# 返回字串或表長度的一元運算符。 #"Hello" 將返回 5

雜項運算符示例

5. Lua運算符優先順序

運算符優先順序確定運算式中的術語分組。 這會影響運算式的計算方式。 某些運算符的優先順序高於其他運算符; 例如,乘法運算符的優先順序高於加法運算符 -

例如,x = 7 + 3 * 2; 這裏x賦值為13,而不是20,因為運算符 * 的優先順序高於+,所以它首先乘以3 * 2然後再加上7

此處,具有最高優先順序的運算符顯示在表的頂部,具有最低優先順序的運算符顯示在底部。 在運算式中,將首先評估更高優先順序的運算符。

類別 操作符 關聯性
一元 not # - 右到左
連接 .. 右到左
乘法 * / % 左到右
加法 + - 左到右
關係 < > <= >= == ~= 左到右
相等 == ~= 左到右
邏輯與 and 左到右
邏輯或 or 左到右

運算符優先順序示例


上一篇: Lua數據類型 下一篇: Lua迴圈