Lua中模拟goto continue(模拟C++ C#的continue

  • 介绍
  • 具体方法
    • goto continue
    • while模拟continue方法
  • 总结

介绍

在C#或者C++里面应该都见过continue,他的用法其实就是打断当前循环直接直接进入下次循环的,代码如下:

 for (int i = 0; i < 10; i++) {if (i == 2) continue;Debug.Log(i); }

上述的打印如下:

013456789

那么lua中其实是没有continue的这个语法,但是lua里面是有goto continue可以执行到某行继续执行,相当于可以指定执行顺序以及执行的语句,在lua中除了这个方法还可以用while去模拟一下continue这个语句下面是这两种方式的具体实现方法

具体方法

goto continue

这个可以指定lua代码的执行顺序以及执行语句,比continue多了一个功能可以跳转到某行执行,下面上代码看一看怎么实现

for i = 1, 10 doif i == 2 then--这里goto 直接跳到for 的结尾 不会触发print(i)goto continueendlogError(i)::continue::end

打印如下:

1345678910

while模拟continue方法

while中的break是打断while的方法
break也可以打断for循环

for i = 1, 10 dowhile true doif(i == 2) then break endlogError(i)breakendend

打印如下:

1345678910

总结

上面两种方式是我比较常用的两种,当然你要在for、while或者repeat until中进行判定当然也是可以的,有很多方法都是可以实现的,如果有更好的方法方式可以留言说下,感谢大家的支持,希望给个免费的小心心和关注,感谢。