1. 數(shù)字運算
支持 +, -, *, /,^ 。 這些運算符的操作數(shù)都是實數(shù)。
2. 連接運算
連接兩個字符串,用”..”運算符。
如果操作數(shù)為數(shù)字,Lua將數(shù)字轉換成字符串。
3. 賦值運算
多變量一起賦值:
復制代碼 代碼如下:
a,b,c,d = ‘www.jb51.net', ‘Q群: 14624678 ′,1,2
變量交換:
復制代碼 代碼如下:
a,b=b,a
在默認情況下,變量總是認為是全局的。假如需要定義局部變量,則在第一次賦值的時候,需要用local說明。如:
復制代碼 代碼如下:
local a,b,c = 1,2,3
a,b,c都是局部變量。
4. 邏輯運算
復制代碼 代碼如下:
and, or, not
在Lua中,只有false和nil才計算為false,其它任何數(shù)據(jù)都計算為true,0也是true
and 和 or的運算結果不是true和false,而是和它的兩個操作數(shù)相關。
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,它相當于:if not x then x = v end 。
5. 關系運算
復制代碼 代碼如下:
> = >= == ~=
這些操作符返回的結果要么false要么true。
==和~=是比較兩個值,如果兩個值類型不同,Lua認為兩者不同。
Lua比較數(shù)字按傳統(tǒng)的數(shù)字大小進行,比較字符串按字母的順序進行,但是字母順序依賴于本地環(huán)境。
如果使用關系運算符來比較兩個table,只有兩個table是同一個對象的時候才能得到預期的結果,因為變量只是table對象的引用,就像指針一樣,不能直接比較存在于table中的值。
復制代碼 代碼如下:
> 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是兩個完全不同的結構。
復制代碼 代碼如下:
> 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中關系運算符的使用教程
- Lua中算術運算符的使用示例
- Lua學習筆記之運算符和表達式
- Lua基礎之運算符的使用示例