中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lua table 的長度問題

發布時間:2020-04-10 05:31:21 來源:網絡 閱讀:1094 作者:breeze7086 欄目:開發技術

直入主題

我們要取lua table的長度時習慣這樣

local tb = {1,2,3,4}
print(#tb)

這時候,輸出理所當然的是4,如果在程序中我們需要判斷長度時使用這樣的方法,再看一下

tb[1] = nil
print(#tb)

輸出還是4,似乎有點背離我們的意愿

我們想知道這個table里面是不是有4個值,但是有一個值被置空了,輸出結果卻沒有及時告訴我們


發生這樣問題的原因是,lua在初始化table的時候,會給這個table分配值存儲的空間,代碼里面tb初始化包含4個數字值,然后對第一個值置空,但是分配出去的空間依然存在。說到這里,已經有人明白了,"#"取的是table分配出的空間,稍稍偏離了實際邏輯的需求,看這樣的代碼

local tb = {nil,nil,nil,nil}
print(#tb)

輸出是0

因為lua碰到nil,先不分配空間,所以#tb自然也就是0

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郓城县| 湖州市| 邹城市| 民勤县| 蓬溪县| 海丰县| 栾城县| 仁怀市| 武宣县| 曲沃县| 南丰县| 宁强县| 凤山市| 南开区| 宿州市| 三明市| 孝感市| 玉林市| 仁化县| 商丘市| 涟水县| 西丰县| 太原市| 伽师县| 太白县| 绥江县| 孟津县| 壶关县| 长宁县| 榆树市| 长顺县| 义乌市| 福贡县| 营口市| 兴山县| 徐水县| 上杭县| 同仁县| 海兴县| 苏尼特左旗| 岚皋县|