
在 Lua 编程中,控制结构是非常重要的一部分,它能够帮助我们更好地管理程序的执行流程。break 和 continue 语句就是控制结构中两个重要的工具,它们可以让我们在循环中灵活地控制代码的执行。接下来,我们将详细介绍这两个语句的使用方法和应用场景。
break 语句break 语句用于立即终止当前所在的循环(for、while 或 repeat-until 循环),并跳出该循环体,继续执行循环之后的代码。
-- 使用 for 循环演示 break 语句for i = 1, 10 doif i == 5 thenprint("遇到 i = 5,执行 break 跳出循环")breakendprint("当前 i 的值是:", i)endprint("循环结束,继续执行后续代码")-- 使用 while 循环演示 break 语句local j = 1while j <= 10 doif j == 7 thenprint("遇到 j = 7,执行 break 跳出循环")breakendprint("当前 j 的值是:", j)j = j + 1endprint("循环结束,继续执行后续代码")-- 使用 repeat-until 循环演示 break 语句local k = 1repeatif k == 3 thenprint("遇到 k = 3,执行 break 跳出循环")breakendprint("当前 k 的值是:", k)k = k + 1until k > 10print("循环结束,继续执行后续代码")
for 循环:当 i 的值等于 5 时,执行 break 语句,立即跳出 for 循环,后续的循环不再执行,直接执行循环之后的代码。while 循环:当 j 的值等于 7 时,执行 break 语句,跳出 while 循环,继续执行后续代码。repeat-until 循环:当 k 的值等于 3 时,执行 break 语句,跳出 repeat-until 循环,执行后续代码。continue 语句Lua 语言本身并没有直接提供 continue 语句,但我们可以通过 if 语句和 goto 语句来模拟 continue 的功能。continue 的作用是跳过当前循环体中剩余的代码,直接进入下一次循环。
-- 使用 for 循环模拟 continue 语句for i = 1, 10 doif i % 2 == 0 then-- 当 i 是偶数时,跳过本次循环的剩余代码,直接进入下一次循环goto continueendprint("当前 i 的值是:", i)::continue::endprint("循环结束,继续执行后续代码")-- 使用 while 循环模拟 continue 语句local j = 1while j <= 10 doif j % 3 == 0 thenj = j + 1goto continueendprint("当前 j 的值是:", j)j = j + 1::continue::endprint("循环结束,继续执行后续代码")
for 循环:当 i 是偶数时,使用 goto continue 语句跳转到标签 ::continue:: 处,跳过本次循环中 print 语句的执行,直接进入下一次循环。while 循环:当 j 是 3 的倍数时,先将 j 的值加 1,然后使用 goto continue 语句跳转到标签 ::continue:: 处,跳过本次循环中 print 语句的执行,继续下一次循环。| 语句 | 功能 | 适用循环 | 示例代码 |
|---|---|---|---|
break |
立即终止当前所在的循环,并跳出循环体,执行循环之后的代码 | for、while、repeat-until |
if condition then break end |
continue(模拟) |
跳过当前循环体中剩余的代码,直接进入下一次循环 | for、while |
if condition then goto continue end ... ::continue:: |
通过合理使用 break 和 continue 语句,我们可以更加灵活地控制循环的执行流程,提高代码的效率和可读性。希望本文对你理解 Lua 中的 break 和 continue 语句有所帮助。