推荐答案
在 Lua 中,for 循环有两种主要形式:数值 for 循环和泛型 for 循环。
数值 for 循环
数值 for 循环用于遍历一个范围内的数值。语法如下:
for var = start, end, step do
-- 循环体
endvar是循环变量,每次迭代时会自动更新。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
-- 循环体
endkey是当前迭代的键。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语句提前退出。