如何获取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