有不同的方法可以让代码反复执行。如果你想让代码只运行特定的次数,使用 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 的值来创建一个倒计时,然后用一个等待函数延迟脚本。
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 循环的不同示例。尝试将它们放入脚本中,看看会发生什么。
每次递增 1
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 时完成循环。