Lua - 获取表中的条目



虽然我们可以使用许多函数和运算符来获取 Lua 中特定表中整数条目的数量,但没有定义的方法或函数适用于包含非同质数据类型的表。

让我们考虑一个简单的表,其中存储了整数值,然后我们将使用两种最常见的方法来查找该表中的条目数。

示例

请考虑以下示例:

main.lua

t = {}
t[1] = 1
t[2] = 2
t[3] = 3
t[4] = 4
print(#t)

输出

4

但是,让我们考虑一下表中数据不是同质数据,而是不同数据类型的情况,在这种情况下,# 运算符将导致不一致。

示例

请考虑以下示例:

main.lua

t = {}
t["yes"] = 1
t[1] = 1
t[2] = 2
t[3] = 3
print(#t)

输出

3

我们可以清楚地看到,输出导致了不一致,因此我们别无选择,只能编写自己的函数来计算表中存在的条目数。

示例

请考虑以下代码:

main.lua

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
广告