听起来像是"让我谷歌给你"的问题,但不知怎的,我找不到答案.Lua #运算符仅使用整数键计数条目,因此table.getn:
tbl = {}
tbl["test"] = 47
tbl[1] = 48
print(#tbl, table.getn(tbl)) -- prints "1 1"
count = 0
for _ in pairs(tbl) do count = count + 1 end
print(count) -- prints "2"
Run Code Online (Sandbox Code Playgroud)
如何在不计算所有条目的情况下获取所有条目的数量?
myTable = {}
myTable["foo"] = 12
myTable["bar"] = "blah"
print(#myTable) -- this prints 0
Run Code Online (Sandbox Code Playgroud)
我是否真的必须遍历表中的项目才能获得密钥数量?
numItems = 0
for k,v in pairs(myTable) do
numItems = numItems + 1
end
print(numItems) -- this prints 2
Run Code Online (Sandbox Code Playgroud)