lua学习小结之lua循环
2017-11-15 14:40
399 查看
Lua 循环
[align=left]循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。[/align]
[align=left]循环语句是由循环体及循环的终止条件两部分组成的。如图:[/align]
Lua语言是用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。所以Lua语言的循环和其他语言很相似。
一、for循环:
可以重复执行指定语句,重复次数可在for语句中控制。
Lua中for语句跟其他语言的for类似,但是语法上有一点点区别。for循环语句在Lua语言中可分为两类:数值for循环和泛型for循环。1.数值for循环
语法格式:
var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次"执行体"。exp3是可选的,如果不指定,默认为1。
for的三个表达式在循环开始前一次性求值,以后不再进行求值
2.泛型for循环
泛型for循环通过一个迭代器函数来遍历所有值,类似java中的foreach语句。
语法格式:
[align=left]在lua中pairs与ipairs两个迭代器的用法相近,但有一点是不一样的:[/align]
[align=left]pairs可以遍历表中所有的key,并且除了迭代器本身以及遍历表本身还可以返回nil;但是ipairs则不能返回nil,只能返回数字0,如果遇到nil则退出。它只能遍历到表中出现的第一个不是整数的key。[/align]
[align=left]例如:
[/align]
输出结果为:
遇到 nil 的时候直接跳出循环。
二、while循环:
在条件为true时,让程序重复地执行某些语句。执行语句前会先检查条件是否为true。
语法格式:
三、repeat...until循环:
重复执行循环,直到指定的语句为true时停止。
repeat...until循环语句不同于for和while循环,for和while循环的条件语句在当前循环执行开始时判断,而repeat...until循环的条件语句在当前循环结束后判断。repeat...until 循环类似于while循环,不同的是do ... while循环是保证至少执行一次。
流程图如下图所示:
语法格式:
注意的是,条件表达式出现在循环结束,所以在循环语句(S)执行一次之前的条件进行测试。
四、嵌套循环:
可以在循环内嵌套一个或者多个循环语句(while do...end;for...do...end;repeat...until)
五、循环控制语句:
break语句(退出当前循环或语句,并开始脚本执行紧接着的语句)。
六、无线循环语句:
在循环体中如果语句永远为true,那么循环体就会一直执行下去。
以while为例:
参考出自: http://www.runoob.com/lua/lua-loops.html
[align=left]循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。[/align]
[align=left]循环语句是由循环体及循环的终止条件两部分组成的。如图:[/align]
Lua语言是用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。所以Lua语言的循环和其他语言很相似。
一、for循环:
可以重复执行指定语句,重复次数可在for语句中控制。
Lua中for语句跟其他语言的for类似,但是语法上有一点点区别。for循环语句在Lua语言中可分为两类:数值for循环和泛型for循环。1.数值for循环
语法格式:
for var=exp1,exp2,exp3 do <执行体> end
var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次"执行体"。exp3是可选的,如果不指定,默认为1。
for的三个表达式在循环开始前一次性求值,以后不再进行求值
2.泛型for循环
泛型for循环通过一个迭代器函数来遍历所有值,类似java中的foreach语句。
语法格式:
--打印数组a的所有值 for i,v in iparrs(a) do print(v) end
[align=left]在lua中pairs与ipairs两个迭代器的用法相近,但有一点是不一样的:[/align]
[align=left]pairs可以遍历表中所有的key,并且除了迭代器本身以及遍历表本身还可以返回nil;但是ipairs则不能返回nil,只能返回数字0,如果遇到nil则退出。它只能遍历到表中出现的第一个不是整数的key。[/align]
[align=left]例如:
[/align]
Key = {1,2,3,4,nil,5,6,7,"d"} for i,v in ipairs(Key) do print(i,v) end
输出结果为:
1 1 2 2 3 3 4 4
遇到 nil 的时候直接跳出循环。
二、while循环:
在条件为true时,让程序重复地执行某些语句。执行语句前会先检查条件是否为true。
语法格式:
while(condition) #条件语句,当condition为true时执行循环体语句 do statements #循环体语句,可以是一条或多条语句 end
三、repeat...until循环:
重复执行循环,直到指定的语句为true时停止。
repeat...until循环语句不同于for和while循环,for和while循环的条件语句在当前循环执行开始时判断,而repeat...until循环的条件语句在当前循环结束后判断。repeat...until 循环类似于while循环,不同的是do ... while循环是保证至少执行一次。
流程图如下图所示:
语法格式:
repeat statement(s) until(condition) #如果条件为false,循环重新开始执行,直到condition为true时停止循环
注意的是,条件表达式出现在循环结束,所以在循环语句(S)执行一次之前的条件进行测试。
四、嵌套循环:
可以在循环内嵌套一个或者多个循环语句(while do...end;for...do...end;repeat...until)
五、循环控制语句:
break语句(退出当前循环或语句,并开始脚本执行紧接着的语句)。
六、无线循环语句:
在循环体中如果语句永远为true,那么循环体就会一直执行下去。
以while为例:
while(true) do print("循环将永远执行下去") end
参考出自: http://www.runoob.com/lua/lua-loops.html
相关文章推荐
- Lua学习笔记之循环语句
- lua 学习小结
- python学习小结1:for循环控制语句
- Lua学习记录 — (3)条件语句与循环语句
- lua学习笔记---选择,循环语句
- LUA学习笔记(一)---LUA变量和循环语法学习
- lua学习笔记---选择,循环语句
- Lua学习笔记2. lua变量和 循环
- Lua学习——循环、函数、表等简单用法
- lua语言学习四循环和流程控制
- python学习小结1:for循环控制语句
- Lua 循环学习
- 学习笔记之C#类、循环中的语句、基础知识和异常处理
- swift 系统学习 06 循环语句
- Python学习之条件循环语句详解
- windbg学习小结
- Lua语言学习(一)------Lua语言闭包代替范性for语义的迭代器的原理
- Unity3D学习之(判断与循环的多方面练习)
- c语言学习笔记之数组小结
- 0基础lua学习(二十一)分割字符串逗号