如何在 Lua 表格中获取条目数量?
虽然有很多函数和运算符可以用来获取 Lua 中特定表格中整数条目的数量,但没有定义的方法或函数适用于包含非同质数据类型的表格。
让我们考虑一个简单的表格,其中存储了整数值,然后我们将使用两种最常见的方法来查找该表格中的条目数量。
示例
请考虑以下示例 -
t = {} t[1] = 1 t[2] = 2 t[3] = 3 t[4] = 4 print(#t)
输出
4
但是,让我们考虑这样一种情况:表格中包含非同质数据,而不是同质数据,在这种情况下,# 运算符将导致不一致。
示例
请考虑以下示例 -
t = {} t["yes"] = 1 t[1] = 1 t[2] = 2 t[3] = 3 print(#t)
输出
3
我们可以清楚地看到,输出导致了不一致,因此我们别无选择,只能编写我们自己的函数来计算表格中存在的条目数量。
示例
请考虑以下代码 -
t = {} t["yes"] = 1 t[1] = 1 t[2] = 2 t[3] = 3 print(#t) function tablelength(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end print(tablelength(t))
输出
3 4
广告