麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > 綜合 > 正文

Lua中的操作符和表達(dá)式總結(jié)

2024-07-21 23:04:11
字體:
供稿:網(wǎng)友

前言

這里總結(jié)的內(nèi)容和其它語言的基本類似,所以這里就只是基本的進(jìn)行總結(jié)。不做詳細(xì)的講解。

算術(shù)操作符

Lua支持常規(guī)的算術(shù)操作符有:”+”(加法),”-”(減法),”*”(乘法),”/”(除法),”^”(指數(shù)),”%”(取模),一元的”-”(負(fù)號)。所有的這些操作符都用于實數(shù)。例如:x^0.5將計算x的平方根,x^3將計算x的3次方。

關(guān)系操作符

Lua提供的關(guān)系操作符有:”<”,”>”,”<=”,”>=”,”==”,”~=”;所有這些操作符的運(yùn)算結(jié)果都是true或false。

操作符==用于相等性測試,操作符~=用于不等性測試。這兩個操作符可以應(yīng)用于任意兩個值。如果兩個值具有不同的類型,Lua就認(rèn)為它們是不相等的;特別需要說明的是,nil只與其自身相等。

對于table、userdata和函數(shù),Lua是作引用比較的。也就是說,只有當(dāng)它們引用同一個對象時,才認(rèn)為它們相等。

邏輯操作符

Lua提供的邏輯操作符有and、or和not。與條件控制語句一樣,所有的邏輯操作符將false和nil視為假,而將其它的任何東西視為真。對于操作符and來說,如果它的第一個操作數(shù)為假,就返回第一個操作數(shù);不然就返回第二個操作數(shù)。對于操作符or來說,如果它的第一個操作數(shù)為真,就返回第一個操作數(shù);不然就返回第二個操作數(shù)。這里和C++等語言是存在區(qū)別的,Lua的邏輯操作符并不是簡單的返回true或false,而是返回操作數(shù)的值。例如以下代碼:

 

復(fù)制代碼 代碼如下:

print(4 and 5)               -->5
print(nil and 13)          -->nil
print(false and 13)     -->false
print(4 or 5)               -->4
print(false or 5)          -->5

and和or都使用“短路求值”,也就是說,它們只會在需要時才去評估第二個操作數(shù)。

 

字符串連接

要在Lua中連接兩個字符串,可以使用操作符“..”(兩個點)。如果其任意一個操作數(shù)是數(shù)字的話,Lua會將這個數(shù)字轉(zhuǎn)換成一個字符串。在Lua中,字符串是不可變的值,連接操作符只會創(chuàng)建一個新字符串,而不會對其原操作數(shù)進(jìn)行任何修改。

table構(gòu)造式

構(gòu)造式是用于創(chuàng)建和初始化table的表達(dá)式。最簡單的構(gòu)造式就是一個空構(gòu)造式{},用于創(chuàng)建一個空table。構(gòu)造式還可以用于初始化數(shù)組,數(shù)組的下標(biāo)從1開始。例如:

 

復(fù)制代碼 代碼如下:

local tbDays ={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
print(tbDays[1])          -->Sunday
print(tbDays[2])          -->Monday
print(tbDays[3])          -->Tuesday
print(tbDays[4])          -->Wednesday
print(tbDays[5])          -->Thursday
print(tbDays[6])          -->Friday
print(tbDays[7])          -->Saturday

Lua還提供了一種特殊的語法用于初始化table:
復(fù)制代碼 代碼如下:

local tb1 = {x=10, y=20}
print(tb1.x)          -->10
print(tb1["x"])          -->10

除此之外,Lua還提供了一種更通用的格式,這種格式允許在方括號之間,顯式地用一個表達(dá)式來初始化索引值,例如:
復(fù)制代碼 代碼如下:

local tb1 = {["+"] = "add", ["-"] = "sub", ["*"] = "mul", ["/"] = "div"}
print(tb1["+"])

比如local tb1 = {x=10, y=20}這種構(gòu)造方式,其實是和local tb1 = {["x"] = 10, ["y"] = 20}是等價的。在實際編程中,這兩種構(gòu)造式,都可以替換的用。

 

總結(jié)

純粹的學(xué)習(xí)筆記,沒有什么可以多說的了。希望對大家學(xué)習(xí)Lua有用。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 羞羞的动漫在线观看 | 日日操日日操 | 主播粉嫩国产在线精品 | 欧美日本在线播放 | 精品一区二区6 | 正在播放91视频 | 久久亚洲第一 | 九九热九九爱 | 天天夜天天操 | 色操网| 久久国产精品免费视频 | 欧美中文字幕一区二区 | 国产三级国产精品国产普男人 | 黄色大片免费网站 | 欧美一级视屏 | 黄色网址免费在线 | 91精品国产一区二区在线观看 | 亚洲精品a级 | 亚洲一区成人在线 | 国产高清美女一级毛片久久 | 欧美精品在线免费观看 | 99亚洲伊人久久精品影院红桃 | 91短视频网页版 | 国产v综合v亚洲欧美久久 | 日产精品久久久一区二区开放时间 | 久久影院免费观看 | 国产精品久久久久久久午夜片 | 国产老师做www爽爽爽视频 | a集毛片| 做羞羞视频 | 日日天日日夜日日摸 | 91精品国产乱码久久桃 | 91超视频| 一区二区三区日本在线观看 | 九九热九九热 | 2019天天干夜夜操 | 91小视频在线观看免费版高清 | 中文字幕一区在线观看视频 | 美女福利视频国产 | 欧美一级电影网站 | 久久亚洲激情 |