为什么 Lua 没有“continue”语句?


Lua 中没有 **continue** 语句,这并不是因为 Lua 编程语言的开发者认为它没有用,事实上,在官方文档中他们提到 **“continue 只是众多可能的新的控制流机制之一”**。这清楚地表明 Lua 编程语言的开发者并不是“continue”语句的忠实粉丝。

如果我们需要分解 Lua 开发者不想要“continue”语句的事实,那么它可以归结为两个可能的答案,它们是 -

  • 他们认为“continue”语句只是另一种控制流机制,并且可以使用其他语句或其他语句的组合来完成它的工作。
  • 他们希望使语言更轻量级。

是的,使用 **goto 语句** 可以完成“continue”语句所做的工作,这是真的。

让我们探索一个简单但功能强大且重要的代码,在其中我们将使用 **goto** 语句,这将帮助我们复制 continue 语句所做的工作。

示例

请考虑下面显示的示例 -

 在线演示

-- prints even numbers in [|1,10|]
for i=1,10 do
   if i % 2 == 1 then goto continue end
   print(i)
   ::continue::
end

在上面的代码中,我使用了 **goto** 关键字,只要条件 **i % 2 == 1** 计算结果为真,它就会将控制权跳转到 **::continue::** 关键字,因此循环将跳过所有奇数,并且只有偶数才会打印到终端。

输出

2
4
6
8
10

更新于: 2021-07-19

4K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告