for-loop – 如何在lua中打破for循环

for-loop – 如何在lua中打破for循环,第1张

概述我有以下代码: for k, v in pairs(temptable) do if string.match(k,'doe') then if v["name"] == var2 then txterr = "Invalid name for "..k dupli 我有以下代码:

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

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

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

我正在考虑做一个while循环我可以绕过整个for循环,但我仍然需要一种方法来突破for.

谢谢.

解决方法 我尝试了以下方法:

temptable = {a=1,doe1={name=1},doe2={name=2},doe3={name=2}}var2 = 1for 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    endend

它有效:

trying  doe2match doe   doe2    2   1trying  doe1match doe   doe1    1   1found at k= doe1breaking

你可以看到它跳过a和doe3.因此错误在其他地方:var2或您的名字不是您的想法(如名称值是字符串而var2是数字),或者您没有任何匹配的键.

总结

以上是内存溢出为你收集整理的for-loop – 如何在lua中打破for循环全部内容,希望文章能够帮你解决for-loop – 如何在lua中打破for循环所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1219675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存