Lua中的運算符簡明總結(jié)
更新時間:2014年10月14日 11:19:48 投稿:junjie
這篇文章主要介紹了Lua中的運算符簡明總結(jié),本文總結(jié)了數(shù)學(xué)運算符、連接運算、賦值運算、 邏輯運算、關(guān)系運算等運算符,需要的朋友可以參考下
1. 數(shù)字運算
支持 +, -, *, /,^ 。 這些運算符的操作數(shù)都是實數(shù)。
2. 連接運算
連接兩個字符串,用”..”運算符。
如果操作數(shù)為數(shù)字,Lua將數(shù)字轉(zhuǎn)換成字符串。
3. 賦值運算
多變量一起賦值:
復(fù)制代碼 代碼如下:
a,b,c,d = ‘www.dbjr.com.cn', ‘Q群: 14624678 ′,1,2
變量交換:
復(fù)制代碼 代碼如下:
a,b=b,a
在默認情況下,變量總是認為是全局的。假如需要定義局部變量,則在第一次賦值的時候,需要用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認為兩者不同。
Lua比較數(shù)字按傳統(tǒng)的數(shù)字大小進行,比較字符串按字母的順序進行,但是字母順序依賴于本地環(huán)境。
如果使用關(guān)系運算符來比較兩個table,只有兩個table是同一個對象的時候才能得到預(yù)期的結(jié)果,因為變量只是table對象的引用,就像指針一樣,不能直接比較存在于table中的值。
復(fù)制代碼 代碼如下:
> t_a = [ 'www.dbjr.com.cn', 'Q群:14624678 ']
> t_b = [ 'www.dbjr.com.cn', '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.dbjr.com.cn', '14624678 ']
> t_b = t_a
> if t_a == t_b then
> print("true")
> else
> print("false")
> end
true
t_b指向了同樣的對象t_a。
相關(guān)文章
Lua中__index和__newindex之間的沉默與合作
這篇文章主要介紹了Lua中__index和__newindex之間的沉默與合作,本文著重講解了__index和__newindex之間的聯(lián)系,需要的朋友可以參考下2014-09-09Lua 數(shù)學(xué)庫的所有函數(shù)功能作用一覽
這篇文章主要介紹了Lua 數(shù)學(xué)庫的所有函數(shù)功能作用一覽,本文羅列了lua數(shù)學(xué)庫的所有函數(shù),并對每個函數(shù)的功能作用做了簡短描述,需要的朋友可以參考下2015-06-06