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

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

Lua中獲取table長度問題探討

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

又有同事在lua的table長度問題上犯錯(cuò)了,我們一起來看看吧~~~

看以下代碼:

 

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

local tblTest1 = 

    1, 
    2, 
    3 

 
print(table.getn(tblTest1)) 

這段代碼輸出的結(jié)果是3,這個(gè)大家都知道,是吧。不管最后那個(gè)3后面有沒有加逗號(hào),結(jié)果都是3。

 

再看下面的代碼:

 

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

local tblTest2 = 

    1, 
    a = 2, 
    3, 

 
print(table.getn(tblTest2)) 

這段代碼輸出的結(jié)果是多少?這里的輸出結(jié)果應(yīng)該是2。首先,要明白,這個(gè)tblTest2不是一個(gè)簡單的table,它混合了列表(list)和記錄(record)兩種風(fēng)格,表中,a = 2是record風(fēng)格。其次,要明白,record風(fēng)格的record是不作為外表的長度計(jì)算(key值無法對(duì)應(yīng)索引位置的才不計(jì)算)。你可以把它想象成一個(gè)函數(shù),跟其他面向?qū)ο笳Z言一樣,函數(shù)是不記為內(nèi)部變量的。
既然像函數(shù)一樣,那就可以輸出a的值,是的。print(tblTest2.a)就可以了。

 

key值對(duì)應(yīng)索引,key值可以對(duì)應(yīng)索引的比如像下面這個(gè):

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

local tblTest =
{
    [1] = 2,
    [2] = 3,
    [3] = 10,
}
print(table.getn(tblTest))

[1],[2],[3]可以對(duì)應(yīng)索引位置,所以輸出3,如果key值不能對(duì)應(yīng)索引,那么結(jié)果往往是錯(cuò)的,比如:
復(fù)制代碼 代碼如下:

local tblTest =
{
 [1] = 2,
 [2] = 5,
 [4] = 10,
}
print(table.getn(tblTest))

 

上面這個(gè)代碼的輸出結(jié)果是4,但是下面的這個(gè)是2,

 

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

local tblTest =
{
 [1] = 2,
 [2] = 5,
 [5] = 10,
}
print(table.getn(tblTest))

 

 


另外,還有一種混搭風(fēng)格,比如

 

 

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

local tblTest =
{
 2,
 [3] = 2,
 4,
}
print(table.getn(tblTest))

 

 

 

3與[3]可以混搭,所以,這里輸出的結(jié)果是3

還有一個(gè)規(guī)則,就是當(dāng)用列表風(fēng)格的時(shí)候,每次都是先尋找[1]所在的位置然后才開始計(jì)算的。。。。其實(shí)可以理解為先找到1,然后排序,之后再計(jì)算長度~~~

建議不要在table中混合recrod和list風(fēng)格,然后計(jì)算長度,除非你對(duì)他們之間的規(guī)則非常清楚,另外,列表風(fēng)格中的key如果不是數(shù)字,也不會(huì)進(jìn)行計(jì)算~~~
再看下面的代碼:

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

local tblTest3 =
{
    1,
    {a = 2},
    3,
}

 

print(table.getn(tblTest3))

 

這段代碼輸出的結(jié)果是多少?這里的輸出結(jié)果應(yīng)該是3。要注意,表嵌套表,嵌套表也是元素。所以,輸出的結(jié)果是3。
以下情況相當(dāng)糾結(jié),可直接看最后一句話總結(jié):

現(xiàn)在來看一個(gè)比較糾結(jié)的:

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

local tblTest4 =
{
    1,
    nil,
}

 

print(table.getn(tblTest4))

 

這段代碼輸出的結(jié)果是多少?是1。我們都知道table獲取長度的時(shí)候,會(huì)遍歷一下整個(gè)表,在最后一個(gè)非nil處,就會(huì)返回。
但是,下面這段代碼呢?

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

local tblTest5 =
{
    1,
    nil,
    2,
}

 

print(table.getn(tblTest5))

 

上面這段代碼,結(jié)果如下:

Lua,獲取table長度

好玩吧?它把nil也當(dāng)成元素計(jì)算長度了。但叫你摸不著頭腦的是下面這段代碼:

Lua,獲取table長度

看到?jīng)],這段代碼的結(jié)果是1。再發(fā)一段,讓你完全蒙掉:

Lua,獲取table長度

看,這段代碼輸出結(jié)果是3,蒙了沒?再看,這一段叫你以后再也不敢再table中寫nil值:

Lua,獲取table長度

看看吧,這一段的輸出結(jié)果是1。親,請問,你以后還敢在lua的table中用nil值嗎???如果你繼續(xù)往后面加nil,你可能會(huì)發(fā)現(xiàn)點(diǎn)什么。你可能認(rèn)為你發(fā)現(xiàn)的是個(gè)規(guī)律。但是,你千萬不要認(rèn)為這是個(gè)規(guī)律。因?yàn)檫@是錯(cuò)誤的。

1、在table中不要使用nil

2、如果非要使用nil,必須用table.setn()函數(shù)去設(shè)置這個(gè)table表的長度。注意:新版本的lua已經(jīng)不支持setn了。

必須給你個(gè)結(jié)論:

setn函數(shù)已過時(shí),不要在lua的table中使用nil值,如果一個(gè)元素要?jiǎng)h除,直接remove,不要用nil去代替。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产不卡一区二区在线观看| 欧美另类高清zo欧美| 色姑娘资源站| 欧美日韩大片一区二区三区| 国产网站无遮挡| 九九九九免费视频| 亚洲国产成人私人影院| 亚洲成人在线播放| 91看片在线播放| av女优在线| 欧美精品激情| 国产高清不卡二三区| 美女被人操网站| 欧美亚洲黄色| 91影院在线免费观看| 116极品美女视频在线观看| 日本午夜精华| 欧美一区国产二区| 三级欧美韩日大片在线看| 中文字幕欧美日韩在线| 99视频在线免费| av免费中文字幕| 狠狠色综合色综合网络| 国产精品欧美大片| 亚洲精品中文在线观看| 欧美特级一级片| 亚欧洲精品视频在线观看| 欧美一级欧美一级在线播放| 欧美少妇xxx| 图片区小说区国产精品视频| 在线免费观看一级片| 国产一区二区免费在线| 日本大香伊一区二区三区| 国产有码在线观看| 国产91色在线|亚洲| 五月天亚洲色图| 国产精品久久久久av电视剧| 久久精品一本| 亚洲狠狠婷婷综合久久久| 一级全黄少妇性色生活片| 污污内射在线观看一区二区少妇| 亚洲欧美激情在线观看| 九一免费在线观看| 欧洲亚洲精品在线| 免费看特级毛片| 高清一区二区三区视频| 亚洲三级黄色片| 亚洲丰满在线| 国产主播av在线| 亚洲色图首页| www.亚洲一区二区三区| 九色福利视频| 国内精品99| 欧美激情喷水视频| 美女视频第一区二区三区免费观看网站| 久久综合九色欧美狠狠| 99免费在线观看| 欧美特黄一级大片| 中国china体内裑精亚洲片| 激情av在线| 午夜啪啪福利视频| 精品欧美激情在线观看| 国内av免费| 大胆亚洲人体视频| 亚洲精品三区| www.色婷婷| 超碰97人人做人人爱少妇| 97不卡在线视频| 最新中文字幕2018| 成人久久一区| 极品av少妇一区二区| 久久精品日产第一区二区三区精品版| 男人添女荫道口喷水视频| 久久久久久久久久影视| 国产精品国产精品88| 亚洲人成网站在线在线观看| 黄色三及免费看| 日韩女同一区二区三区| 亚洲热线99精品视频| 久久国产福利| 国产肥白大熟妇bbbb视频| 无码人妻丰满熟妇区bbbbxxxx| 亚洲精品tv| 国产午夜精品全部视频播放| 中文字幕在线有码| 亚洲视频资源| 亚洲免费电影在线观看| 国产盗摄精品一区二区三区在线| 免费萌白酱国产一区二区三区| 欧美性色综合网| 日韩精品一区二区三区外面| 欧美丰满美乳xxⅹ高潮www| 在线激情小视频| 日韩成人在线电影| 欧美熟妇精品一区二区蜜桃视频| 欧美日韩精品一本二本三本| 精品一区二区在线观看| 99久久99久久免费精品蜜臀| 日本老熟俱乐部h0930| 亚洲午夜性刺激影院| 久久久久免费观看| 久久精品无码中文字幕| 国产综合久久久久久久久久久久| 色吊丝中文字幕| 久久久久久久极品内射| 热久久精品免费视频| 国产精品情侣自拍| 精品99又大又爽又硬少妇毛片| 国产福利不卡| 欧美精选视频在线观看| 成人免费网站在线观看视频| 亚洲一区二区日韩| 亚洲人午夜射精精品日韩| 欧美激情性爽国产精品17p| 免费黄色在线播放| 国产一级粉嫩xxxx| 免费不卡在线视频| 国产成人精品一区二区三区视频| 欧美成人精品h版在线观看| 亚洲成a人片77777精品| 欧美高清中文字幕| 91在线品视觉盛宴免费| 欧美亚州韩日在线看免费版国语版| www.久久久| 激情久久婷婷| www.国产精品一二区| 日本sm极度另类视频| 亚洲成av在线| 91豆麻精品91久久久久久| 永久免费av无码网站性色av| 国产一二三四区在线观看| 久久亚洲国产中v天仙www| 97视频免费看| 亚洲一本二本| 国产精品最新乱视频二区| 久久9999久久免费精品国产| 国产在线高清视频| 欧美成年人视频在线观看| 精品久久久久久久久中文字幕| 免费观看黄色网| 久久夜靖品2区| 亚洲人成毛片在线播放女女| 国产精品一区二区小说| 狠狠色综合色区| 国产一区二区三区自拍| 欧美人与牲禽动交com| 黄色成人在线网站| 国产精品999久久久| 宅男噜噜噜66国产免费观看| 日本三级2019| h视频在线网站| 182在线播放| 国产不卡视频在线观看| 欧美一级视频免费在线观看| 欧美区一区二区| 美国黄色小视频| av成人天堂| 男人添女荫道口图片| 国产午夜无码视频在线观看| 人人爽人人爽人人片av| 在线精品视频免费播放| 日本韩国在线观看| 国产在线拍揄自揄拍视频| 国产女人aaa级久久久级| 男女男精品视频网| 亚洲综合伊人久久大杳蕉| 日本免费中文字幕在线| 欧美性69xxxx肥| 国模一区二区三区| 99精品国产高清一区二区麻豆| 精品一二三四| 久久久精品综合| 国产综合久久久久影院| 色黄视频在线| 日韩精品中文字幕在线观看| 国产精品久久久精品四季影院| 奇米狠狠一区二区三区| 久久国产三级精品| 久久久免费视频网站| 久久精品人人做人人爽电影| 国产一区自拍视频| 性欧美xxx极品另类| v片在线观看| 麻豆91精品91久久久的内涵| 国产成人精品电影久久久| 无码精品一区二区三区在线播放| 91精品国产麻豆国产自产在线| 欧美少妇激情| 99热这里只有精品7| 欧美日韩亚洲综合一区二区三区| 最近中文字幕在线中文高清版| 成人免费福利视频| 国产特级淫片高清视频| 一区二区91美女张开腿让人桶| 91福利视频网站| 亚洲欧美成aⅴ人在线观看| 国产日韩欧美一区二区三区乱码| 中文字幕影片免费在线观看| 免费成人深夜蜜桃视频| 欧美色图888| 亚洲成年人电影在线观看| 亚洲国产精品久久久久蝴蝶传媒| 亚洲精品乱码久久久久久9色| 综合亚洲色图| 亚洲欧美日本在线观看| 91狠狠综合久久久| 淫行教师动漫| 国产男女免费视频| 久久精品国产第一区二区三区| 综合网中文字幕| 九九九久久久久| 国内精品久久久久久中文字幕| 亚洲一区自拍偷拍| 女人黄色一级片| 97精品国产一区二区三区| 成人精品免费网站| 成人黄色国产精品网站大全在线免费观看| 国产一区二区三区在线免费观看| 成人午夜毛片| 国产不卡av在线播放| 婷婷五月在线视频| 免费中文日韩| 男女下面一进一出无遮挡| 免费av一级电影| 91sp网站在线观看入口| 色偷偷成人一区二区三区91| 欧美日韩一区二区三区四区五区| 性刺激综合网| 亚洲精品国产偷自在线观看| 黄色成人在线视频| www.xxx国产| 国产精品xx| 日本电影中文字幕| 日韩视频在线观看一区二区| 91精品国产自产在线观看永久| 精品免费视频| 国产老肥熟xxxx在线观看| 中文字幕av资源| 一区二区三区视频免费观看| 久久久久国色av免费看影院| 国产欧美日韩精品a在线观看| 日韩在线观看免费网站| 91玉足脚交白嫩脚丫| 亚洲天堂岛国片| 国产黑丝一区二区| 日韩免费视频网站| 正在播放日韩欧美一页| 亚洲精品在线观看www| 日韩在线一区二区| 日韩电影大片中文字幕| 24小时成人在线视频| zzijzzij亚洲日本成熟少妇| 日韩欧美视频一区| 91九色porny视频| 国产成人av电影免费在线观看| 国产黄色网址在线观看| 亚洲色图100p| 日本特黄特色aaa大片免费| av老司机在线观看| 精品少妇久久久久久888优播| 久久国产精品高清一区二区三区| 国产精品888| 亚洲free嫩bbb| 538prom精品视频线放| 亚洲精品资源在线| 7777精品伊人久久久大香线蕉| 亚洲精品在线观看av| 深夜精品寂寞黄网站在线观看| gogo人体高清视频| 999av小视频在线| 九九久久久2| 高清欧美性猛交xxxx黑人猛| www.色国产| 欧美日韩国产观看视频| 97精品超碰一区二区三区| 中文字幕乱码中文字幕| 国产美女高潮在线| 亚洲精品乱码久久久久久蜜桃欧美| 99热最新在线| 一区二区三区视频在线看| 国产香蕉视频在线看| 欧美一区二区福利| 国产伦精品一区二区三区在线观看| 中文在线资源在线| 日韩久久久久久久久| 波多野结衣不卡| 亚洲 欧美 日韩在线| 天天舔天天操天天干| 在线看的网站你懂| 亚洲第一男人av| 精品少妇一区二区三区视频免付费| 午夜精品久久久久久毛片| 亚洲无限乱码一二三四麻| 黄色免费成人| 欧美成人hd| 亚洲一区亚洲二区亚洲三区| 国产伦一区二区| 大胆欧美熟妇xx| 久做在线视频免费观看| 精品一区二区在线欧美日韩| 国产一区二区动漫| 一本大道久久a久久综合婷婷| 成人国产精品色哟哟| 日韩一区二区三区在线免费观看| 欧美另类视频| 尤物yw午夜国产精品视频| 国产精品视频yy9099| 久久久久国内| 国产黄在线观看免费观看不卡| 亚洲国产一区二区在线播放| 亚洲精品**不卡在线播he| 伊人精品一区二区三区| 亚洲午夜av| 男人在线观看视频| 日本一级淫片免费放| 国产福利精品av综合导导航| 碰碰在线视频| 动漫精品一区一码二码三码四码| 成人精品视频99在线观看免费| 欧美成人精品三级在线观看| 寂寞护士中文字幕mp4| 欧美成免费一区二区视频| 91丨porny丨中文| 日韩影视在线| 亚洲无人区码一码二码三码的含义| 成人一区在线看| 激情五月激情综合网| 狠狠色噜噜狠狠狠|