lua 循环
while 循环
结构
while (condition) do statments end
lua 语法没有其他语言的 ++, - - 语法, 只能用 i = i + 1, i = i - 1
示例程序
local i = 0 while (i < 10) do print(i) i = i + 1 end
for 循环
数值循环
结构
for var = expr1, expr2, expr3 do statements end
expr1, expr2, expr3 仅在循环开始前执行一次
从 expr1 变化为 expr2 (包含 expr2), 每次步进 expr3
expr3 可省略, 默认为 1
示例程序
function f(x) print("function") return x * 2 end for i = 0, f(2), 1 do print(i) end
泛型循环
结构
for k, v in ipairs(arr) do statements end
k 为数组的键, v 为数组的值
示例程序
days = {"monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"} for k, v in ipairs(days) do print(k, v) end
ipairs 函数仅对数字索引数组有效, 更通用的是 pairs 函数
repeat … until 循环
结构
repeat statements until (condition)
- 不管 condition 是 true 还是 false, 循环体 statements 均会先执行一次
- 判断 condition, 若 condition 为 true, 则跳出循环
示例程序
local a = 0 repeat print(a) a = a + 1 until (a > 10)