前言
這里總結(jié)的內(nèi)容和其它語(yǔ)言的基本類似,所以這里就只是基本的進(jìn)行總結(jié)。不做詳細(xì)的講解。
算術(shù)操作符
Lua支持常規(guī)的算術(shù)操作符有:”+”(加法),”-”(減法),”*”(乘法),”/”(除法),”^”(指數(shù)),”%”(取模),一元的”-”(負(fù)號(hào))。所有的這些操作符都用于實(shí)數(shù)。例如:x^0.5將計(jì)算x的平方根,x^3將計(jì)算x的3次方。
關(guān)系操作符
Lua提供的關(guān)系操作符有:”<”,”>”,”<=”,”>=”,”==”,”~=”;所有這些操作符的運(yùn)算結(jié)果都是true或false。
操作符==用于相等性測(cè)試,操作符~=用于不等性測(cè)試。這兩個(gè)操作符可以應(yīng)用于任意兩個(gè)值。如果兩個(gè)值具有不同的類型,Lua就認(rèn)為它們是不相等的;特別需要說(shuō)明的是,nil只與其自身相等。
對(duì)于table、userdata和函數(shù),Lua是作引用比較的。也就是說(shuō),只有當(dāng)它們引用同一個(gè)對(duì)象時(shí),才認(rèn)為它們相等。
邏輯操作符
Lua提供的邏輯操作符有and、or和not。與條件控制語(yǔ)句一樣,所有的邏輯操作符將false和nil視為假,而將其它的任何東西視為真。對(duì)于操作符and來(lái)說(shuō),如果它的第一個(gè)操作數(shù)為假,就返回第一個(gè)操作數(shù);不然就返回第二個(gè)操作數(shù)。對(duì)于操作符or來(lái)說(shuō),如果它的第一個(gè)操作數(shù)為真,就返回第一個(gè)操作數(shù);不然就返回第二個(gè)操作數(shù)。這里和C++等語(yǔ)言是存在區(qū)別的,Lua的邏輯操作符并不是簡(jiǎn)單的返回true或false,而是返回操作數(shù)的值。例如以下代碼:
and和or都使用“短路求值”,也就是說(shuō),它們只會(huì)在需要時(shí)才去評(píng)估第二個(gè)操作數(shù)。
字符串連接
要在Lua中連接兩個(gè)字符串,可以使用操作符“..”(兩個(gè)點(diǎn))。如果其任意一個(gè)操作數(shù)是數(shù)字的話,Lua會(huì)將這個(gè)數(shù)字轉(zhuǎn)換成一個(gè)字符串。在Lua中,字符串是不可變的值,連接操作符只會(huì)創(chuàng)建一個(gè)新字符串,而不會(huì)對(duì)其原操作數(shù)進(jìn)行任何修改。
table構(gòu)造式
構(gòu)造式是用于創(chuàng)建和初始化table的表達(dá)式。最簡(jiǎn)單的構(gòu)造式就是一個(gè)空構(gòu)造式{},用于創(chuàng)建一個(gè)空table。構(gòu)造式還可以用于初始化數(shù)組,數(shù)組的下標(biāo)從1開(kāi)始。例如:
local tbDays ={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}print(tbDays[1]) -->Sundayprint(tbDays[2]) -->Mondayprint(tbDays[3]) -->Tuesdayprint(tbDays[4]) -->Wednesdayprint(tbDays[5]) -->Thursdayprint(tbDays[6]) -->Fridayprint(tbDays[7]) -->Saturday
Lua還提供了一種特殊的語(yǔ)法用于初始化table:
除此之外,Lua還提供了一種更通用的格式,這種格式允許在方括號(hào)之間,顯式地用一個(gè)表達(dá)式來(lái)初始化索引值,例如:
比如local tb1 = {x=10, y=20}這種構(gòu)造方式,其實(shí)是和local tb1 = {["x"] = 10, ["y"] = 20}是等價(jià)的。在實(shí)際編程中,這兩種構(gòu)造式,都可以替換的用。
總結(jié)
純粹的學(xué)習(xí)筆記,沒(méi)有什么可以多說(shuō)的了。希望對(duì)大家學(xué)習(xí)Lua有用。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
新聞熱點(diǎn)
疑難解答
圖片精選