Lua中的#


Lua中的#

對字符串來說,#取字符串的長度,但對於table需要注意。

lua的table可以用數字或字符串等作為key, #號得到的是用整數作為索引的最開始連續部分的大小, 如果t[1] == nil, 即使t[5], t[6], t[7]是存在的,#t仍然為零。對於這類tb[1],tb[2]....才能獲取到正確的長度。

如果table的第一個元素key為非數字,那么#tb獲取到的長度也是0。

在平時開發過程中如果是table,不建議使用這個API。

建議方法

function table.length(t)
    local i = 0
    for k, v in pairs(t) do
        i = i + 1
    end
    return i
end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM