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

首頁 > 學院 > 開發設計 > 正文

lua中的table使用陷阱

2019-11-10 20:05:55
字體:
來源:轉載
供稿:網友

    最近在使用lua開發的過程中,遇到了一個由于語言機制導致的bug,具體表現就是,我的配置文件中存了個兩個表項,在用lua加載配置文件內容之后,返回的表長度竟然是1,然后導致后面的判斷都出錯了,在初次調試這個bug的時候完全是百思不得其解,把配置文件看了又看,確實有兩個表項沒錯,但是通過#運算符得到的表長度始終是1,于是我用公司同事寫的一個打印table模塊將返回的table的鍵和值都打印出來看了一下,于是就發現問題了。

    原來在lua中,如果我這樣聲明:

local a = {}a[1] = 1a[2] = 2a[4] = 4PRint(#a)那么輸出的結果就是2,而不是3,這就是比較疑惑的地方了,因為我們明明知道表里面明明有三個元素,但是輸出的表長度卻是2,這就是因為#這個運算符只能處理下標連續的table,這里我們聲明的時候沒有下標為3的元素,所以lua在計算長度的時候就不會去看不連續的元素了,這也提醒了我們開發者,對于#操作符一定要慎重使用,否則因為這種問題導致的bug確實挺難調的。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久久亚洲美女啪啪 | 亚洲情在线 | 精品成人国产在线观看男人呻吟 | 欧美一级高潮 | 欧美一区二区三区久久精品视 | 久色乳综合思思在线视频 | 日本在线视频免费观看 | 最新中文字幕在线视频 | 九九热精品视频在线免费观看 | 久久免费视频8 | 免费久久精品 | 国产成人精品区一区二区不卡 | 91精品国产99久久久久久 | 一区在线视频 | 国产精品视频yy9299一区 | 色99999| 国产黄色录像片 | 久久91精品国产91久久yfo | 成人爽a毛片免费啪啪红桃视频 | 国产精品久久久久一区二区 | 超碰人人做人人爱 | 黄色高清免费网站 | 成人不卡 | 亚洲第一成人在线 | 老师你怎么会在这第2季出现 | 亚洲九九爱 | 国产午夜免费福利 | 毛片在线免费 | 中文字幕精品在线视频 | 国产精品午夜一区 | 国产精品久久久久国产精品三级 | 久久精品视频一区二区三区 | va毛片| 成人午夜免费看 | 久久久久久久91 | 蜜桃传媒视频麻豆第一区免费观看 | 久久免费视频7 | 综合图区亚洲 | av国产片| 久久久久久久亚洲视频 | 精品亚洲午夜久久久久91 |