为什么 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
广告