iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 12
0
Software Development

30天 Lua重拾筆記系列 第 12

【30天Lua重拾筆記12】基礎2: 控制 - 條件

本文同步發表於個人網站

分支條件控制 - if/elseif/else

Lua的分支控制條件就僅有這麼一組:if-then/elseif-then/else/end

It's all very simple

和其他語言一樣,elseif可以出現多次。你想用else if寫成巢狀也沒人會管你。他們兩個寫起來也真的蠻像的,除了你可能要多寫幾次end

if true then
  print("if block")
elseif true then
  print("elseif block")
else
  print("else")
end
if true then
  print("if block")
else if true then
  print("elseif block")
else
  print("else")
end
end

注意到最後有兩個end。實際上我試故意將他這樣排版的,這樣兩個看起來比較像。

通常需要使用到巢狀分支,還是好好縮排比較好。

switch

雖然只有if蠻簡單的,但有時候會想要使用switch這類結構。沒事,可以模擬:

option = "one"

switch = {
  ["one"] = function () print "run one" end,
  ["tow"] = function () print "run two" end,
}

switch[option]() -- => run one

實際上可以這樣寫:

option = "one"

switch = {
  one = function () print "run one" end,
  tow = function () print "run two" end,
}

switch[option]() -- => run one

這也算是Lua語法糖的一部分。不過我們等到hash-table在來說明。

熟悉ECMAScript的朋友可能已經猜到為什麼了。


上一篇
【30天Lua重拾筆記11】基礎1: 註釋
下一篇
【30天Lua重拾筆記13】基礎2: 控制-for迴圈
系列文
30天 Lua重拾筆記36

尚未有邦友留言

立即登入留言