Lua中模拟goto continue(模拟C++ C#的continue
- 介绍
- 具体方法
-
- [goto continue](#goto continue)
- while模拟continue方法
- 总结
介绍
在C#或者C++里面应该都见过continue,他的用法其实就是打断当前循环直接直接进入下次循环的,代码如下:
csharp
for (int i = 0; i < 10; i++)
{
if (i == 2) continue;
Debug.Log(i);
}
上述的打印如下:
csharp
0
1
3
4
5
6
7
8
9
那么lua中其实是没有continue的这个语法,但是lua里面是有goto continue可以执行到某行继续执行,相当于可以指定执行顺序以及执行的语句,在lua中除了这个方法还可以用while去模拟一下continue这个语句下面是这两种方式的具体实现方法
具体方法
goto continue
这个可以指定lua代码的执行顺序以及执行语句,比continue多了一个功能可以跳转到某行执行,下面上代码看一看怎么实现
csharp
for i = 1, 10 do
if i == 2 then
--这里goto 直接跳到for 的结尾 不会触发print(i)
goto continue
end
logError(i)
::continue::
end
打印如下:
csharp
1
3
4
5
6
7
8
9
10
while模拟continue方法
while中的break 是打断while 的方法
break 也可以打断for循环
csharp
for i = 1, 10 do
while true do
if(i == 2) then break end
logError(i)
break
end
end
打印如下:
csharp
1
3
4
5
6
7
8
9
10
总结
上面两种方式是我比较常用的两种,当然你要在for、while或者repeat until中进行判定当然也是可以的,有很多方法都是可以实现的,如果有更好的方法方式可以留言说下,感谢大家的支持,希望给个免费的小心心和关注,感谢。