5.循环

来源:互联网 发布:网络道德的原则有 编辑:程序博客网 时间:2024/06/16 06:11

while:

while(条件)
do
   循环体
end

在条件为 true 时,让程序重复地执行 循环体。执行语句前会先检查条件是否为 true。

a=0while( a < 10 )do   print("a 的值为:", a)   a = a+1end输出结果:a的值为:0a的值为:1a的值为:2a的值为:3a的值为:4a的值为:5a的值为:6a的值为:7a的值为:8a的值为:9

for:

1.数值型for循环
重复执行指定语句,重复次数可在 for 语句中控制
for var=exp1,exp2,exp3 do  
    <执行体>  
end  

var从exp1变化到exp2,每次变化以exp3为步长递增(递减)var,并执行一次"执行体"。exp3是可选的,如果不指定,默认为1

例:
for i=1,f(x) do    print(i)endfor i=10,1,-1 do    print(i)end
for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次,其结果用在后面的循环中。

2.泛型for循环

泛型for循环通过一个迭代器函数来遍历所有值
Lua 编程语言中泛型for循环语法格式:
打印数组a的所有值  

for i,v in ipairs(a) do   print(v) end  

i是数组索引值,v是对应索引的数组元素值。ipairs是Lua提供的一个迭代器函数,用来迭代数组

repeat...until:

重复执行循环,直到指定的条件为真时为止
repeat
   statements
until( condition )
1.在条件进行判断前循环体都会执行一次
2.如果条件判断语句(condition)为 false,循环会重新开始执行,直到条件判断语句(condition)为 true 才会停止执行



1.
循环嵌套:可以在循环内嵌套一个或多个循环语句(while、for、do..while)
2.
break 语句:退出当前循环或语句,并开始脚本执行紧接着的语句
3.
控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,true和非nil为真。
要注意的是Lua中 0 为 true:

例:
if(0)then    print("0 为 true")end输出结果为:0 为 true






0 0
原创粉丝点击