為什麼 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+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.