很多情况下我们需要做一些有规律性的重复操作,因此在程序中就需要重复执行某些语句。 一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。
循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。 循环语句是由循环体及循环的终止条件两部分组成的。
Lua 语言提供了以下几种循环处理方式:
循环类型 | 描述 |
while 循环 | 在条件为 true 时,让程序重复地执行某些语句。执行语句前会先检查条件是否为true。 |
for 循环 | 重复执行指定语句,重复次数可在 for 语句中控制。 |
repeat...until | 重复执行循环,直到 指定的条件为真时为止 |
循环嵌套 | 可以在循环内嵌套一个或多个循环语句(while do ... end;for ... do ... end;repeat ... until;) |
举个例子:
for循环
--[[ for var=strat,end,step do --循环体 --var会从初始值变化到end,每次变化通过增加step end --]] for i=1,10,1 do print(i) end for i=10,1,-2 do print(i) end tab={a=111,b=222,c=333} for k,v in pairs(tab) do print(k,v) end
repeat循环
--[[ repeat --循环体until(bool)--]] r=1 repeat r=r+1 print(r)until(r>10)
循环控制语句
循环控制语句用于控制程序的流程, 以实现程序的各种结构方式。
Lua 支持以下循环控制语句:
控制语句 | 描述 |
break 语句 | 退出当前循环或语句,并开始脚本执行紧接着的语句。 |
goto 语句 | 将程序的控制点转移到一个标签处。 |
无限循环
在循环体中如果条件永远为 true 循环语句就会永远执行下去,以下以 while 循环为例:
举个例子:
while( true ) do print("循环将永远执行下去") end