Lua 如果表包含具有特定值的键
这可能有点混乱,但我有一个表,例如,名为Lua 如果表包含具有特定值的键,lua,lua-table,Lua,Lua Table,这可能有点混乱,但我有一个表,例如,名为Ant 此表包含一组其他(未命名)表。这些表表示蚂蚁,并保存值 有点像这样: Ant = { {age=3,speed=10}, {age=6,speed=7} } 我的问题是,如何检查Ant表中的任何未命名表是否包含到age的特定值 例如,我想检查我的蚂蚁是否有3岁的 我希望我说得够清楚了,提前谢谢你 您可以在表格中循环并检查: for i, v in ipairs(Ant) do if v.age == 3 then print(
Ant
此表包含一组其他(未命名)表。这些表表示蚂蚁,并保存值
有点像这样:
Ant = {
{age=3,speed=10},
{age=6,speed=7}
}
我的问题是,如何检查Ant表中的任何未命名表是否包含到age
的特定值
例如,我想检查我的蚂蚁是否有3岁的
我希望我说得够清楚了,提前谢谢你 您可以在表格中循环并检查:
for i, v in ipairs(Ant) do
if v.age == 3 then
print( i )
end
end
它将是存储3岁的蚂蚁的位置。如果您需要检查每个子表中
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
好吧,如果我有一个母亲值,它需要更改怎么办。所以我遍历了所有的蚂蚁,但我只想换一只。@doorknold你能举个例子吗?说明情况?@DoorKnobbreak
后打印
谢谢,用户说得对。但是,为了澄清,我们假设我的蚂蚁都不是母亲。我想要一个妈妈。我不想全部更改,只想更改一个。@DoorKnob或(应用SPOT规则)将Ant.mother
设置为一个蚂蚁:Ant.mother=Ant[I]
。(Ant
可能应该是Ant
,以表示数组而不是单个实例)