Lua_table长度|Lua_table长度 #

获取table的长度,不管是用# 还是table.getn(lua5.3 目前是找不到这个方法的),一旦找不到连续的索引就会返回。所以获取的长度都是不正确的。

local tb = {"1",2,["3"]=3} print(#tb) 输出:2

【Lua_table长度|Lua_table长度 #】正确的获取table的长度应该是遍历,而且要用pairs,不要用ipairs。为啥?看
pairs和ipairs 区别
local tb = {"1",2,["3"]=3}local function get_len(tb) local len = 0 for k,v in pairs(tb) do len= len+1 end return len endprint(get_len(tb)) 输出:3

    推荐阅读