1. 數(shù)字運算
支持 +, -, *, /,^ 。 這些運算符的操作數(shù)都是實數(shù)。
2. 連接運算
連接兩個字符串,用”..”運算符。
如果操作數(shù)為數(shù)字,Lua將數(shù)字轉(zhuǎn)換成字符串。
3. 賦值運算
多變量一起賦值:
復(fù)制代碼 代碼如下:
a,b,c,d = ‘www.jb51.net', ‘Q群: 14624678 ′,1,2
變量交換:
復(fù)制代碼 代碼如下:
a,b=b,a
在默認(rèn)情況下,變量總是認(rèn)為是全局的。假如需要定義局部變量,則在第一次賦值的時候,需要用local說明。如:
復(fù)制代碼 代碼如下:
local a,b,c = 1,2,3
a,b,c都是局部變量。
4. 邏輯運算
復(fù)制代碼 代碼如下:
and, or, not
在Lua中,只有false和nil才計算為false,其它任何數(shù)據(jù)都計算為true,0也是true
and 和 or的運算結(jié)果不是true和false,而是和它的兩個操作數(shù)相關(guān)。
a and b:如果a為false,則返回a;a true 返回b
a or b:如果 a 為true,則返回a;a false 返回b
模擬C語言中的語句:x = a? b : c,在Lua中,可以寫成:x = a and b or c。
最有用的語句是: x = x or v,它相當(dāng)于:if not x then x = v end 。
5. 關(guān)系運算
復(fù)制代碼 代碼如下:
> = >= == ~=
這些操作符返回的結(jié)果要么false要么true。
==和~=是比較兩個值,如果兩個值類型不同,Lua認(rèn)為兩者不同。
Lua比較數(shù)字按傳統(tǒng)的數(shù)字大小進行,比較字符串按字母的順序進行,但是字母順序依賴于本地環(huán)境。
如果使用關(guān)系運算符來比較兩個table,只有兩個table是同一個對象的時候才能得到預(yù)期的結(jié)果,因為變量只是table對象的引用,就像指針一樣,不能直接比較存在于table中的值。
復(fù)制代碼 代碼如下:
> t_a = [ 'www.jb51.net', 'Q群:14624678 ']
> t_b = [ 'www.jb51.net', 'Q群:14624678 ']
> if t_a == t_b then
> print("true")
> else
> print("false")
> end
false
t_a與t_b是兩個完全不同的結(jié)構(gòu)。
復(fù)制代碼 代碼如下:
> t_a = [ 'www.jb51.net', '14624678 ']
> t_b = t_a
> if t_a == t_b then
> print("true")
> else
> print("false")
> end
true
t_b指向了同樣的對象t_a。
您可能感興趣的文章:- Lua中..和#運算符的使用方法
- Lua中的邏輯運算符使用詳解
- Lua中關(guān)系運算符的使用教程
- Lua中算術(shù)運算符的使用示例
- Lua學(xué)習(xí)筆記之運算符和表達式
- Lua基礎(chǔ)之運算符的使用示例