国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

lua中的table使用陷阱

2019-11-10 19:02:15
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

    最近在使用lua開(kāi)發(fā)的過(guò)程中,遇到了一個(gè)由于語(yǔ)言機(jī)制導(dǎo)致的bug,具體表現(xiàn)就是,我的配置文件中存了個(gè)兩個(gè)表項(xiàng),在用lua加載配置文件內(nèi)容之后,返回的表長(zhǎng)度竟然是1,然后導(dǎo)致后面的判斷都出錯(cuò)了,在初次調(diào)試這個(gè)bug的時(shí)候完全是百思不得其解,把配置文件看了又看,確實(shí)有兩個(gè)表項(xiàng)沒(méi)錯(cuò),但是通過(guò)#運(yùn)算符得到的表長(zhǎng)度始終是1,于是我用公司同事寫(xiě)的一個(gè)打印table模塊將返回的table的鍵和值都打印出來(lái)看了一下,于是就發(fā)現(xiàn)問(wèn)題了。

    原來(lái)在lua中,如果我這樣聲明:

local a = {}a[1] = 1a[2] = 2a[4] = 4PRint(#a)那么輸出的結(jié)果就是2,而不是3,這就是比較疑惑的地方了,因?yàn)槲覀兠髅髦辣砝锩婷髅饔腥齻€(gè)元素,但是輸出的表長(zhǎng)度卻是2,這就是因?yàn)?這個(gè)運(yùn)算符只能處理下標(biāo)連續(xù)的table,這里我們聲明的時(shí)候沒(méi)有下標(biāo)為3的元素,所以lua在計(jì)算長(zhǎng)度的時(shí)候就不會(huì)去看不連續(xù)的元素了,這也提醒了我們開(kāi)發(fā)者,對(duì)于#操作符一定要慎重使用,否則因?yàn)檫@種問(wèn)題導(dǎo)致的bug確實(shí)挺難調(diào)的。


上一篇:高斯消元模板

下一篇:TimeUtil

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 朝阳区| 克什克腾旗| 连云港市| 鄯善县| 临江市| 赫章县| 剑阁县| 黄龙县| 建德市| 弥勒县| 荥经县| 桐庐县| 姜堰市| 喀喇沁旗| 六盘水市| 高陵县| 江永县| 太湖县| 江阴市| 桓仁| 东乡县| 丰都县| 东至县| 巴林左旗| 彩票| 玛纳斯县| 云浮市| 兰州市| 呼伦贝尔市| 岐山县| 陕西省| 陇南市| 乐都县| 广元市| 新干县| 阿图什市| 湖口县| 巴青县| 和田县| 股票| 徐汇区|