Lua 循环
循环类型 | 描述 |
---|---|
while | 在条件为true 时 让程序重复执行某些语句,执行语句前会检查条件是否为true |
for | 重复执行制定语句,重复次数可在for语句中控制 |
repeat…until | 重复执行循环,直到指定的条件为真时为止 |
循环嵌套 | 可以在循环内嵌套一个或多个循环语句(while do…end;for…do…end;repeat…until) |
循环控制语句
控制语句 | 描述 |
---|---|
break | 退出当前循环或语句,并开始脚本执行紧接着的语句 |
While
while(condition)
do
statements;
end
statements(循环体语句) 可以是一条或多条语句,condition(条件) >可以是任意表达式,在 condition(条件) 为 true 时执行循环体语句。
for
Lua for语句有两大类
- 数值for循环
- 泛型for循环
- 数值for
for var=exp1,exp2,exp3 do
<执行体>
end
var 从exp1变化到exp2,每次变化exp3为步长递增var,并执行一次“执行体”。exp3 是可选的,如果不指定,默认为-1.
for的三个表达式在循环开始前一次性求值,以后不再进行求值
- 泛型for
a = {"one", "two", "three"}
for i, v in ipairs(a) do
print(i, v)
end
泛型 for 循环通过一个迭代器函数来遍历所有值,类似 java 中的 foreach 语句。
i是数组索引值,v是对应索引的数组元素值。ipairs是Lua提供的一个迭代器函数,用来迭代数组。
repeat…until
repeat
statement;
until(condition)
循环条件判断语句(condition)在循环体末尾部分,所以在条件进行判断前循环体都会执行一次。
如果条件判断语句(condition)为 false,循环会重新开始执行,直到条件判断语句(condition)为 true >才会停止执行。
Lua 循环嵌套
- for 循环嵌套
- while 循环嵌套
- repeat 循环嵌套
- 使用不同的循环类型相互嵌套