鍍金池/ 教程/ Java/ 操作符
數(shù)據(jù)庫訪問
循環(huán)
數(shù)組
錯誤處理
面向?qū)ο?/span>
調(diào)試
游戲開發(fā)
文件 I/O
變量
迭代器
Web 編程
模塊
函數(shù)
元表
協(xié)程
垃圾回收機制
標準庫
決策
數(shù)據(jù)類型
運行環(huán)境
操作符
字符串
基本語法
概述

操作符

操作符是用于告訴解釋器執(zhí)行特定的數(shù)學或邏輯運算的符號。Lua 語言有豐富的內(nèi)置操作符,主要包括以下幾類:

  • 算術(shù)運算操作符
  • 關(guān)系運算操作符
  • 邏輯運算操作符
  • 其它操作符

這篇教程將會依次介紹以上四類操作符。

算術(shù)去處操作符

下面的表中列出了所有 Lua 語言支持的算術(shù)運算操作符。假設(shè) A 變量的值為 10,B 變量的值為 20,則:

操作符 描述 示例
== 判斷兩個操作數(shù)是否相等,若相等則條件為真,否則為假。 (A == B) 為假。
~= 判斷兩個操作數(shù)是否相等,若不相等則條件為真,否則為假。 (A ~= B) 為真。
> 如果左操作數(shù)大于右操作數(shù)則條件為真,否則條件為假。 (A > B) 為假。
< 如果左操作數(shù)小于右操作數(shù)則條件為真,否則條件為假。 (A < B) 為真。
>= 如果左操作數(shù)大于或等于右操作數(shù)則條件為真,否則條件為假。 (A >= B) 為假。
<= 如果左操作數(shù)小于或等于右操作數(shù)則條件為真,否則條件為假。 (A <= B) 為真。

邏輯運算符

下面的表列出了 Lua 支持的所有邏輯運算符。假設(shè) A 的值為 真(非零),B 的值為 假(零),則:

操作符 描述 示例
and 邏輯與運算符。如果兩個操作數(shù)都非零,則條件為真。 (A and B) 為假。
or 邏輯或運算符。如果兩個操作數(shù)中其中有一個非零,則條件為真。 (A or B) 為真。
not 邏輯非運算符。翻轉(zhuǎn)操作數(shù)的邏輯狀態(tài)。如果條件是真,則邏輯非運算符會將其變成假。 !(A and B) 為真。

其它操作符

Lua 語言還支持另外兩個操作符:

操作符 描述 示例
.. 連接兩個字符串。 若 a 為 "Hello",b 為 "World",則 a..b 返回 "Hello World"。
# 一元運算符,返回字符串或者表的長度。 #"Hello" 返回 5。

操作符優(yōu)先級

操作符的優(yōu)先級將決定表達式中的項如何組合。這會影響到表達式的求值。一些操作符比另外一些操作符有更高的優(yōu)先級。例如,乘法操作符優(yōu)先級比加法操作符更高。

例如 x = 7 +3*2,這里 x 的值為 13,而不是 20。這是因為操作符 * 優(yōu)級級比操作符 + 優(yōu)先級更高,所以先得到 3*2 的乘積,然后再加上 7。

下面的表中,從上到下優(yōu)先級遞減。在每個表達式中,高優(yōu)先級操作數(shù)先運算。

分類 操作數(shù) 結(jié)合性
一元運算符類 not # - 從右至左
連接運算符 .. 從右至左
乘除運算符類 * / % 從左至右
加減運算符類 + - 從左至右
關(guān)系運算符類 < > <= >= == ~= 從左至右
邏輯與運算符 and 從左至右
邏輯或運算符 or 從左至右