gpt4 book ai didi

for-loop - lua中如何跳出for循环

转载 作者:行者123 更新时间:2023-12-02 06:28:45 25 4
gpt4 key购买 nike

我有以下代码:

  for k, v in pairs(temptable) do
if string.match(k,'doe') then
if v["name"] == var2 then
txterr = "Invalid name for "..k
duplicate = true
end
if duplicate then
break
end
end
end

当重复设置为 true 时,我想一起退出 for 循环。现在,即使找到匹配项,它也只是循环遍历表中的所有值。

我尝试使用break语句,但我认为它打破了“if”语句。

我正在考虑一个 do while 循环,我可以环绕整个 for 循环,但我仍然需要一种方法来打破 for。

谢谢。

最佳答案

我尝试了以下方法:

temptable = {a=1, doe1={name=1}, doe2={name=2}, doe3={name=2}}
var2 = 1
for k, v in pairs(temptable) do
print('trying', k)
if string.match(k,'doe') then
print('match doe', k, v.name, var2)
if v["name"] == var2 then
txterr = "Invalid name for "..k
duplicate = true
print('found at k=', k)
end
if duplicate then
print('breaking')
break
end
end
end

它有效:

trying  doe2
match doe doe2 2 1
trying doe1
match doe doe1 1 1
found at k= doe1
breaking

如您所见,它跳过了 a 和 doe3。因此,错误在其他地方: var2 或您的名称不是您所想的那样(就像名称值是字符串,而 var2 是数字),或者您没有任何匹配的键。

关于for-loop - lua中如何跳出for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23702017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com