Lua - 迴圈:掌握重複藝術
Hello, 有抱負的程式設計師們!歡迎來到我們令人興奮的Lua迴圈世界之旅。作為你們友好的鄰居計算機老師,我很高興能夠引導你們了解這個基本概念。迴圈就像編程界的DJ,它們通過重複好東西來讓派對持續進行!所以,讓我們一起深入探索,學習如何讓我們的代碼隨著重複的節奏起舞。
迴圈是什麼?
在我們深入細節之前,讓我們先了解一下迴圈是什麼。想像一下,你被分配了一個任務,要在黑板上寫100次"我愛Lua"。聽起來很無聊,對吧?這就是迴圈出場救援的地方!它們允許我們在不重複寫代碼的情況下多次執行一段代碼。這就像有一支神奇的筆為你寫字!
Lua中的迴圈類型
Lua提供了三種主要的迴圈類型。讓我們來認識一下我們的迴圈家族:
迴圈類型 | 描述 | 使用案例 |
---|---|---|
while | 在條件為真的情況下重複一段代碼 | 當你不知道需要重複多少次時使用 |
repeat | 至少執行一段代碼一次,然後在條件為真的情況下重複 | 當你想要確保代碼至少運行一次時使用 |
for | 重複一段代碼特定次數 | 當你知道需要重複多少次時使用 |
現在,讓我們詳細探索這些迴圈類型。
The While Loop:謹慎的重複者
while
迴圈就像一個謹慎的朋友,總是在做事情前先檢查。只要指定的條件為真,它就會持續執行一段代碼。
local count = 1
while count <= 5 do
print("Count is: " .. count)
count = count + 1
end
在這個例子中,我們從 count
等於1開始。迴圈檢查 count
是否小於或等於5。如果是,它會打印當前計數,然後將其加1。這個過程重複進行,直到 count
變為6,此時條件為假,迴圈停止。
輸出:
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
The Repeat Loop:樂觀的執行者
repeat
迴圈就像那種先行動再提問的朋友。它在檢查條件之前至少執行一次代碼塊。
local num = 1
repeat
print("Number is: " .. num)
num = num + 1
until num > 5
在這裡,我們打印數字並增加它。迴圈繼續進行,直到 num
大於5。即使 num
開始時大於5,這個迴圈仍然會運行一次。
輸出:
Number is: 1
Number is: 2
Number is: 3
Number is: 4
Number is: 5
The For Loop:精確的計劃者
for
迴圈就像一個精心計劃者。當你確切知道要重複多少次時,它是完美的。
數字 For 迴圈
for i = 1, 5 do
print("Iteration: " .. i)
end
這個迴圈從 i
等於1開始,並持續到 i
達到5,每次增加1。
輸出:
Iteration: 1
Iteration: 2
Iteration: 3
Iteration: 4
Iteration: 5
带步长 For 迴圈
我們也可以指定一個不同的步長值:
for i = 0, 10, 2 do
print("Even number: " .. i)
end
這個迴圈從0開始,增加到10,但每次增加2,給我們偶數。
輸出:
Even number: 0
Even number: 2
Even number: 4
Even number: 6
Even number: 8
Even number: 10
通用 For 迴圈
Lua還有一個通用for迴圈,可以迭代表中的元素:
local fruits = {"apple", "banana", "cherry"}
for index, value in ipairs(fruits) do
print(index .. ": " .. value)
end
這個迴圈遍歷 fruits
表中的每個項目,給我們提供索引和值。
輸出:
1: apple
2: banana
3: cherry
迴圈控制語句
有時候,我們需要控制我們的迴圈。這時,迴圈控制語句就派上用場了。
Break語句
break
語句就像一個緊急出口。它允許我們提前退出迴圈:
for i = 1, 10 do
if i > 5 then
break
end
print("Number: " .. i)
end
這個迴圈會在 i
大於5時停止。
輸出:
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5
Continue語句(Lua 5.2+)
Lua 5.2引入了 goto
語句,可以用來模擬 continue
:
for i = 1, 5 do
if i % 2 == 0 then
goto continue
end
print("Odd number: " .. i)
::continue::
end
這個迴圈跳過偶數,只打印奇數。
輸出:
Odd number: 1
Odd number: 3
Odd number: 5
無窮迴圈:謹慎使用!
無窮迴圈就像一個永恆的故事。它是一個沒有自然終止點的迴圈:
while true do
print("This is an infinite loop!")
end
謹慎使用無窮迴圈!它們會導致你的程序卡住。如果你故意使用它們,請確保你有辦法跳出它們。
結論
恭喜你!你剛剛完成了Lua迴圈的旋風之旅。記住,迴圈是你編程工具包中的強大工具。它們幫助你自動化重複任務並提高代碼效率。練習使用不同類型的迴圈,很快你將會像專家一樣使用迴圈!
當我們結束時,這裡有一點編程幽默:為什麼程式設計師喜歡暗色模式?因為光明吸引蟲子!
繼續編程,繼續學習,記住 - 在編程世界中,反覆使用迴圈是完全正常的!
Credits: Image by storyset