这可能有点令人困惑,但我有一张表,例如,名为Ant
。
此表包含许多其他(未命名)表。这些表代表蚂蚁,并保持值。
有点像这样:
Ant = {
{age=3,speed=10},
{age=6,speed=7}
}
我的问题是,我如何检查Ant表中的任何未命名表是否包含age
的特定值。
所以,例如,我想检查一下我的蚂蚁是否已经3岁了。
我希望我很清楚,并提前感谢!
答案 0 :(得分:4)
您可以循环查看表格并检查:
for i, v in ipairs(Ant) do
if v.age == 3 then
print( i )
end
end
存储3岁蚂蚁的print the index。
答案 1 :(得分:2)
如果只需要检查每个子表中age
的值,那么构建自定义迭代器是另一种方式:
function age_iter(t)
local i = 0
return function()
i = i + 1
return t[i] and t[i].age
end
end
迭代所有age
值将是:
for age in age_iter(Ant) do
print(age)
end
很容易对其进行修改,以检查其中一个age
值是否等于3
。