與許多其他程式設計語言一樣,學習如何控制 if-else 條件是基礎。 如果你是編碼新手,if 語句基本上是告訴程式是否應該根據指定的條件執行代碼塊。 如果為 true,則執行它,如果為 false,則跳過它。
在 if-else 的説明下,您可以做出更好的決策並控制程式的流程。 現在,讓我們深入瞭解 if 條件在 Lua 中是如何工作的。 我準備了大量示例供您清楚地理解。
您可以使用 Lua Online Editor 嘗試以下示例:
Lua if 條件語法
Lua 中條件的基本語法 if
很簡單。
如果條件的計算結果為 true
,則執行塊內 if
的代碼。
如果條件為 false
,則跳過塊內 if
的代碼。
end (如果需要) 在 end 中。
if-then-end 的語法
if condition then
-- Code to execute if the condition is true
end
使用 if-then-end 的簡單示例
local number = 100
if number > 50 then
print("The number is greater than 50!")
end
在上面的例子中,我們稱 「數位 > 50」 為條件。
在這種情況下,條件等於 true
,因此會列印出消息 「The number is greater than 50」。。
Lua if-else 條件
有時,如果條件為 true,則希望執行一個代碼塊,如果條件為 false,則執行另一個代碼塊。
這就是為什麼你需要知道 else
關鍵詞。
if-then-else 語法
if condition then
-- Code to execute if the condition is true
else
-- Code to execute if the condition is false
end
if-then-else 示例
local number = 30
if number > 50 then
print("The number is greater than 50")
else
print("The number is smaller than 50")
end
因此,在這種情況下,條件 number > 5
的計算結果為 false。
因此,該消息將顯示 「The number is smaller than 50」(數位小於 50)。
Lua if-elseif-else 條件
大多數情況下,需要處理多個條件。
您需要使用 elseif
keyword 來處理這種情況。
這隻是允許您一起處理多種情況。
if-elseif-else 語法
if condition1 then
-- if condition1 is true
elseif condition2 then
-- if condition2 is true
elseif condition3 then
-- if condition3 is true
else
-- if none of the above conditions are true
end
if-elseif-else 示例
local number = 70
if number > 100 then
print("The number is greater than 100")
elseif number > 50 then
print("The number is greater than 50 but less than or equal to 100")
else
print("The number is 50 or less")
end
在上面的示例中,條件 number > 100
為 false,但 number > 50
為 true。
因此,將列印消息「The number is greater than 50 but less than or equal to 100」。。
在您的 Lua 編譯器中試用它!
您可以修改條件以使其更加複雜。
Lua 嵌套 if
條件
對於複雜的邏輯,你可以在另一個 if 條件中使用 if-else 條件。
我們稱之為嵌套 if
條件。
記得小心處理。
根據我的經驗,大多數時候程式錯誤是由於不小心安排嵌套的 if 編碼而發生的。
Lua 嵌套 if 示例
local number = 120
if number > 50 then
if number > 100 then
print("The number is greater than 100")
else
print("The number is greater than 50 but less than or equal to 100")
end
else
print("The number is 50 or less")
end
讓我對上面的例子進行一些解釋。
outer條件 number > 50
為 true,因此將執行外部 if 塊內的代碼。
在該塊中,內部條件 number > 100
也為 true,因此將列印出消息 「The number is greater than 100」。。
這隻是一個簡單的例子,在實際情況下,情況可能要複雜得多!
與邏輯運算子組合
Lua 提供三個主要的邏輯運算元。 命名 and、 or 和 not。 使用這些邏輯運算元,您可以更有效地使用布爾表達式控制代碼流。
如果兩個表達式都為 true, 則 and 運算符返回 true,否則返回 false。
如果至少有一個表達式為 true,則 or
運算符返回 true
。
運算子 not
是否定表達式的一元運算符,如果表達式為 false,則返回 true
,反之亦然。
您可以在決策過程中充分利用這些運算符。 結合 if 語句,您可以更好地控制程式。 在遊戲開發中,使用if-else條件的邏輯運算元真的非常常見。
算子 | 表達 | 結果 |
和 | true 和 true | true |
true 和 false | false | |
false 和 false | false | |
或 | 對或錯 | true |
false 或 false | false | |
不 | 不對 | false |
不是 false | true |
Lua 邏輯條件示例
local number = 8
if number > 5 and number < 10 then
print("The number is between 5 and 10")
end
根據上述結果,組合條件 number > 5 and number < 10
的計算結果為 true,因此列印消息“The number is between 5 and 10”。
結論
一旦你掌握了如何在 Lua 中使用條件if
,你就可以完全控制你的程式流程。
無論是動態條件還是簡單的 if-then-else,您都可以很好地處理它。
通過正確使用if
、 、 和 elseif
else
語句,以及嵌套和邏輯運算子,您可以在代碼中處理各種決策場景。
在下一章中,我們將介紹 Lua 中的另一個重要概念 「LOOP」。。 在此之前,請盡量練習:)