Lua - 迴圈:掌握重複藝術

Hello, 有抱負的程式設計師們!歡迎來到我們令人興奮的Lua迴圈世界之旅。作為你們友好的鄰居計算機老師,我很高興能夠引導你們了解這個基本概念。迴圈就像編程界的DJ,它們通過重複好東西來讓派對持續進行!所以,讓我們一起深入探索,學習如何讓我們的代碼隨著重複的節奏起舞。

Lua - Loops

迴圈是什麼?

在我們深入細節之前,讓我們先了解一下迴圈是什麼。想像一下,你被分配了一個任務,要在黑板上寫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