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