Lua_table长度 #

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

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

正确的获取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
end

print(get_len(tb))
输出:3

你可能感兴趣的:(Lua_table长度 #)