Lua中如何使用continue,goto continue(模拟C++ C#的continue)

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

相关推荐
魔士于安1 天前
unity 丑陋哥布林 哥布林有humannoid 动画没 带动画
unity·游戏引擎·材质·贴图·模型
小贺儿开发2 天前
Unity 家居视频遥控(细节优化)
科技·unity·程序员·udp·视频·工具·通信
淡海水2 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
小小数媒成员2 天前
UGUI 性能优化(详细,全,深入)
开发语言·unity·游戏引擎
林川~013 天前
Unity新输入系统使用笔记
unity·input system
liulilittle3 天前
麻将结算全链路语义(SETTLE_SEMANTICS)
ai·自动化·llm·mock·lua·测试
小贺儿开发3 天前
Unity 结合百度AI开放平台 手写文字识别
人工智能·科技·学习·unity·云服务·文字识别·手写文字
liulilittle3 天前
麻将服务器崩溃补偿与异常处理语义(CRASH_SEMANTICS)
ai·自动化·llm·mock·lua·测试·tools
liulilittle3 天前
麻将 UI 层可观察行为(UI_BEHAVIOR)
ai·自动化·llm·mock·lua·测试·tools
liulilittle3 天前
C++ 引擎接口到 mock 的映射(INTERFACE_MAP)
ai·自动化·llm·mock·lua·测试·tools