国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 华蓥市| 乐安县| 宜城市| 勃利县| 项城市| 巫山县| 五指山市| 精河县| 云林县| 中西区| 绥宁县| 从江县| 炎陵县| 民权县| 铜山县| 图木舒克市| 瑞安市| 合水县| 独山县| 昔阳县| 手游| 汝州市| 景东| 宿松县| 华池县| 凤庆县| 安阳县| 舞钢市| 滨州市| 郯城县| 武山县| 湾仔区| 南岸区| 安阳市| 太仆寺旗| 泾阳县| 安吉县| 荥阳市| 五大连池市| 吉木乃县| 泸溪县|