推荐答案
在 Lua 中,for
循环有两种主要形式:数值 for
循环和泛型 for
循环。
数值 for
循环
数值 for
循环用于遍历一个范围内的数值。语法如下:
for var = start, end, step do -- 循环体 end
var
是循环变量,每次迭代时会自动更新。start
是循环的起始值。end
是循环的结束值。step
是每次迭代的步长(可选,默认为 1)。
示例:
for i = 1, 10, 2 do print(i) -- 输出 1, 3, 5, 7, 9 end
泛型 for
循环
泛型 for
循环用于遍历表、数组等数据结构。语法如下:
for key, value in pairs(t) do -- 循环体 end
key
是当前迭代的键。value
是当前迭代的值。t
是要遍历的表或数组。
示例:
local t = {a = 1, b = 2, c = 3} for k, v in pairs(t) do print(k, v) -- 输出 a 1, b 2, c 3 end
本题详细解读
数值 for
循环
数值 for
循环是 Lua 中最常用的循环结构之一,特别适合处理已知范围的数值迭代。它的工作原理是从 start
开始,每次迭代增加 step
,直到 var
超过 end
。如果 step
为负数,则 var
会递减。
- 注意:
var
是局部变量,循环结束后会被销毁。 - 注意:
step
不能为 0,否则会导致无限循环。
泛型 for
循环
泛型 for
循环是 Lua 中用于遍历表或数组的强大工具。它依赖于迭代器函数(如 pairs
或 ipairs
)来遍历数据结构。
pairs
用于遍历表的所有键值对,顺序不固定。ipairs
用于遍历数组(即索引为连续整数的表),顺序固定。
示例:
local arr = {10, 20, 30} for i, v in ipairs(arr) do print(i, v) -- 输出 1 10, 2 20, 3 30 end
总结
- 数值
for
循环适合处理数值范围的迭代。 - 泛型
for
循环适合处理表或数组的遍历。 - 两种循环都可以通过
break
语句提前退出。