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中进行判定当然也是可以的,有很多方法都是可以实现的,如果有更好的方法方式可以留言说下,感谢大家的支持,希望给个免费的小心心和关注,感谢。