有不同的方法來讓代碼重複執行。如果你想要代碼只執行特定次數,使用 for 迴圈。這篇文章將涵蓋 for 迴圈的邏輯,並展示一些實用範例,例如編碼一個倒數計時。
for 迴圈的運作原理
for 迴圈使用三個值來控制它們執行的次數:一個 控制變數、一個 結束 值,和一個 增量 值。從控制變數的值開始,for 迴圈將在每次執行迴圈中的代碼時向上或向下計數,直到它超過結束值。正的增量值向上計數,負的增量值向下計數。

for 迴圈的步驟
要理解 for 迴圈,查看顯示其進展邏輯的流程圖很有幫助。
首先,for 迴圈比較控制變數與結束值。

在運行代碼後,增量值將被加到控制變數上。然後迴圈檢查控制變數並重新開始。

一旦控制變數超過結束值,迴圈將停止。例如,如果迴圈的結束值是 10,一旦控制變數超過 10,for 迴圈將停止。

編碼倒數計時
要查看 for 迴圈如何運作,使用這些步驟編碼一個從 10 開始並倒數到 0 的 for 迴圈,每次一個數字。每當迴圈運行時,它將打印控制變數的當前值。
在 ServerScriptService 中,創建一個名為 PracticeLoop 的新腳本。在腳本中,開始時輸入關鍵字 for。
for創建一個名為 count 的 控制變數,並設置初始值為 10。
for count = 10將 結束值 設置為 0,輸入 , 0。確保包括一個逗號以分隔這些值。
for count = 10, 0通過輸入 , -1 創建一個 增量值 為 -1。在迴圈執行完動作後,它將把增量值加到控制變數 count 上。由於增量是負數,它將在加到控制變數時被減去。
for count = 10, 0, -1要完成 for 迴圈,輸入 do 並按 Enter 鍵來添加 end。插入在 do 和 end 之間的任何代碼在每次迴圈重複時都將執行。
for count = 10, 0, -1 doend在迴圈內,通過打印控制變數 count 的值來創建倒數,然後使用 wait 函數延遲腳本。
for count = 10, 0, -1 do-- 打印 for 迴圈的當前數字print(count)-- 等待 1 秒task.wait(1)end運行專案並觀察輸出窗口以查看 for 迴圈。
注意到迴圈會在每次通過一次 迭代 時打印當前的 count 值。迭代是檢查控制值、執行代碼和更新增量值的完整過程。由於控制變數從 0 開始並且需要超過 10,迴圈將在停止之前進行 11 次迭代。
故障排除提示
在這個階段,如果迴圈沒有按預期工作,可以嘗試以下其中一項。
- 檢查你是否在 for 迴圈中有 兩個逗號 分隔數字。額外或缺少的逗號將使迴圈無法啟動。
- 如果 for 迴圈一次性打印所有內容,確保有一個使用至少 1 秒的等待函數。
不同的 for 迴圈範例
更改 for 迴圈的三個值將改變迴圈的功能。以下是具有不同起始、終止和增量值的不同 for 迴圈範例。嘗試將它們放入腳本中並看看會發生什麼。
每次加一
for count = 0, 5, 1 doprint(count)task.wait(1)end
每次加二(偶數)
for count = 0, 10, 2 doprint(count)task.wait(1)end
如果 for 迴圈根本不運行
如果控制變數的起始值 超過 結束值,如下例所示,for 迴圈將根本不會運行。
for count = 10, 0, 1 doprint(count)task.wait(1)end
在這種情況下,for 迴圈正在向上計數並檢查 count 是否大於 0。當 for 迴圈進行第一次檢查時,它會看到 10 大於 0,因此將停止迴圈而不打印任何內容。
總結
for 迴圈是一種常見的迴圈類型,當一組指令應該重複特定次數時使用。要創建 for 迴圈,請使用以下語法的三個變數:
for count = 0, 10, 1 doprint(count)end
在上面的範例中,迴圈將從 0 開始。對於每個迴圈,它將打印 count 變數,將 1 加到 count,並最終在 count 等於 10 時結束迴圈。