亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

淺談Lua語句

2024-07-21 23:04:48
字體:
來源:轉載
供稿:網友

Lua 中的語句支持賦值,控制結構,函數調用,還有變量聲明。

不允許空的語句段,因此 ;; 是非法的。

1 語句組 | chuncks

 

復制代碼 代碼如下:

chunck ::= {stat[';']}

 

([';'] 應該是表示語句組后面 ; 是可選項。)

2 語句塊 | blocks

 

復制代碼 代碼如下:

block ::= chunck
stat ::= do block end

 

可以將一個語句塊顯式地寫成語句組,可以用于控制局部變量的作用范圍。

3 賦值 | assignment

Lua 支持多重賦值。

多重賦值時,按序將右邊的表達式的值賦值給左值。右值不足補 nil,右值多余舍棄。

 

復制代碼 代碼如下:

b = 1
a,b = 4 -- a = 4,b = nil
+++

 

Lua 在進行賦值操作時,會一次性把右邊的表達式都計算出來后進行賦值。

 

復制代碼 代碼如下:

i = 5
i,a[i] = i+1, 7 -- i = 6 ,a[5] = 7

 

特別地,有

x,y = y,x -- 交換 x,y 的值
+++

對全局變量以及表的域的賦值操作含義可以在元表中更改。

4 控制結構

4.1 條件語句

 

復制代碼 代碼如下:

if [exp]
    [block]
elseif [exp]
    [block]
else
    [block]
end

 

4.2 循環語句

 

復制代碼 代碼如下:

while [exp]
    [block]
end
+++

 

repeat
    [block]
until [exp]

 

注意,由于 repeat 語句到 until 還未結束,因此在 until 之后的表達式中可以使用 block 中定義的局部變量。

例如:

 

復制代碼 代碼如下:

a = 1
c = 5
repeat
    b = a + c
    c = c * 2
until b > 20
print(c)            -->     40
+++

 

4.3 break 和 return

break 和 return 只能寫在語句塊的最后一句,如果實在需要寫在語句塊中間,那么就在兩個關鍵詞外面包圍 do end 語句塊。

do break end

5 For 循環

for 循環的用法比較多,單獨拎出來講。

for 中的表達式會在循環開始前一次性求值,在循環過程中不再更新。

5.1 數字形式

for [Name] = [exp],[exp],[exp] do [block] end
三個 exp 分別代表初值,結束值,步進。exp 的值均需要是一個數字。
第三個 exp 默認為 1,可以省略。

 

復制代碼 代碼如下:

a = 0
for i = 1,6,2 do
    a = a + i
end

 

等價于

 

復制代碼 代碼如下:

int a = 0;
for (int i = 1; i <= 6;i += 2){ // 取到等號,如果步進是負的,那么會取 i >= 6
    a += i;
}

 

5.2 迭代器形式

迭代器形式輸出一個表時,如果表中有函數,則輸出的順序及個數不確定(筆者測試得出的結果,具體原因未知)。

迭代器形式的 for 循環的實質

-- 依次返回 迭代器、狀態表、迭代器初始值

 

復制代碼 代碼如下:

function mypairs(t)
    function iterator(t,i)
        i = i + 1
        i = t[i] and i      -- 如果 t[i] == nil 則 i = nil;否則 i = i
        return i,t[i]
    end
    return iterator,t,0
end

 

-- 一個表
t = {[1]="1",[2]="2"}

-- 迭代形式 for 語句的 等價形式

 

復制代碼 代碼如下:

do
local f, s, var = mypairs(t)
    while true do
        local var1, var2 = f(s, var)
        var = var1
        if var == nil then break end

 

        -- for 循環中添加的語句
        print(var1,var2)

    end
end

 

-- 迭代形式 for 語句

 

復制代碼 代碼如下:

for var1,var2 in mypairs(t) do
    print(var1,var2)
end

 

--> 1   1
--> 2   2
--> 1   1
--> 2   2

 

5.2.1 數組形式

 

復制代碼 代碼如下:

ary = {[1]=1,[2]=2,[5]=5}
for i,v in ipairs(ary) do
    print(v)                    --> 1 2
end

 

從1開始,直到數值型下標結束或者值為 nil 時結束。

5.2.2 表遍歷

 

復制代碼 代碼如下:

table = {[1]=1,[2]=2,[5]=5}
for k,v in pairs(table) do
    print(v)                    --> 1 2 5
end

 

遍歷整個表的鍵值對。

關于迭代器的更多內容,可參考Lua 迭代器和泛型 for。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久久久久久中文字幕| 26uuu国产精品视频| 久久久久一本一区二区青青蜜月| 5252色成人免费视频| 欧美乱妇高清无乱码| 国产精品偷伦视频免费观看国产| 日韩电影免费在线观看中文字幕| 有码中文亚洲精品| 精品五月天久久| 久久精品成人动漫| 精品无码久久久久久国产| 精品中文视频在线| 国产精品久久久999| 久久久精品电影| 青草青草久热精品视频在线网站| 欧美性感美女h网站在线观看免费| 亚洲直播在线一区| 日韩一区视频在线| 国产色综合天天综合网| 色噜噜国产精品视频一区二区| 777精品视频| 91成品人片a无限观看| 亚洲精品理论电影| 永久免费精品影视网站| 国产精品入口尤物| 黑人精品xxx一区一二区| 久久久亚洲欧洲日产国码aⅴ| 欧美视频在线观看免费| 国产精品国产自产拍高清av水多| 国产亚洲欧洲高清一区| 懂色av一区二区三区| 亚洲剧情一区二区| 91po在线观看91精品国产性色| 日韩精品免费一线在线观看| 欧美孕妇与黑人孕交| 欧美在线观看网址综合| 亚洲人成电影网站色xx| 欧美精品生活片| 免费不卡欧美自拍视频| 91精品国产91久久久久久最新| 成人在线精品视频| 久久久av网站| 国产精品日韩在线播放| 国产主播在线一区| 欧美激情国产高清| 2018中文字幕一区二区三区| 91精品国产高清久久久久久| 欧美高清videos高潮hd| 久久国产精品久久久| 97在线免费视频| 国产97色在线|日韩| 岛国av一区二区在线在线观看| 国产精品久久在线观看| 欧美区在线播放| 国产成人久久久| 亚洲国产精品成人一区二区| 91久久精品美女高潮| 91精品国产色综合久久不卡98口| 国产精品aaa| 全亚洲最色的网站在线观看| 欧美国产日韩免费| 亚洲日本中文字幕免费在线不卡| 免费av在线一区| 亚洲第一区第二区| 日韩视频永久免费观看| 精品久久久精品| 国产成人精品久久二区二区91| 欧美综合在线第二页| 欧美成人免费观看| 国产精品成人va在线观看| 日韩二区三区在线| 精品国产欧美一区二区三区成人| 在线精品视频视频中文字幕| 国产精品成人v| 国内精品久久影院| 欧美午夜性色大片在线观看| 国模视频一区二区| 97精品欧美一区二区三区| 欧美日韩日本国产| 清纯唯美亚洲激情| 北条麻妃一区二区三区中文字幕| 亚洲一区二区三区xxx视频| 国产精品成人在线| 国产精品美女无圣光视频| 久久全国免费视频| 久久欧美在线电影| 中文字幕欧美专区| 日韩亚洲成人av在线| 久久网福利资源网站| 欧美在线视频观看免费网站| 久久久久久久久久婷婷| 国产免费久久av| 欧美美最猛性xxxxxx| 亚洲iv一区二区三区| 国产欧美日韩91| 国产一区二区在线免费视频| 欧美www视频在线观看| 欧美日韩国产精品一区二区三区四区| 精品久久久一区| 96精品视频在线| 成人做爰www免费看视频网站| 亚洲第一精品夜夜躁人人躁| 欧美黑人狂野猛交老妇| 国产精品视频一| 欧美极品在线视频| 成人亚洲欧美一区二区三区| 国模视频一区二区三区| 亚洲美女动态图120秒| 国产日韩欧美自拍| 日韩精品极品在线观看播放免费视频| 不卡av电影院| 国产suv精品一区二区| 日韩电影中文字幕在线观看| 日韩精品中文字幕久久臀| 97av在线视频免费播放| 国产精品丝袜久久久久久不卡| 久久亚洲私人国产精品va| 国产成人涩涩涩视频在线观看| 久久在线免费视频| 日韩欧美中文字幕在线播放| 激情av一区二区| 亚洲欧美日韩高清| 欧美日韩在线另类| 夜夜躁日日躁狠狠久久88av| 亚洲天堂av图片| 黑人巨大精品欧美一区二区| 伊人一区二区三区久久精品| 欧洲成人性视频| 一本一本久久a久久精品牛牛影视| 久久男人av资源网站| 欧美日韩中国免费专区在线看| 欧美在线视频播放| 日韩视频中文字幕| 亚洲最新av在线网站| 中国china体内裑精亚洲片| 三级精品视频久久久久| 亚洲人成自拍网站| 色综久久综合桃花网| 亚洲欧洲视频在线| 清纯唯美亚洲综合| 日韩高清av一区二区三区| 2018日韩中文字幕| 97超级碰碰碰| 久久久亚洲影院你懂的| 久久69精品久久久久久国产越南| 九九热视频这里只有精品| 亚洲精品福利资源站| 欧美高清性猛交| 国产精品欧美激情| 国产日韩中文字幕| 亚洲韩国欧洲国产日产av| 国产精品嫩草影院一区二区| 欧美激情一区二区三区在线视频观看| 国产精品久久久久久久久久新婚| 亚洲a级在线观看| 亚洲国产另类 国产精品国产免费| 欧美日韩一区二区三区| 国产色综合天天综合网| 精品香蕉在线观看视频一| 日韩高清免费观看| 欧美午夜丰满在线18影院| 色综合亚洲精品激情狠狠| 欧美另类暴力丝袜| 5566成人精品视频免费|