Lua学习篇④——循环

我一直认为循环的出现是开启了IT新时代的大门,这区别了人与机器的最大不同,让我们敲一次键盘上的‘A’键很简单,但让我们每1秒钟敲一次且24小时不停歇,可能你在半小时后就坚持不下去了~让机器来代替我们做这些有规律的重复劳动,这就是循环的意义。

大多数情况下,编程中我们必不可少都会需要用到循环。循环语言由循环体和循环条件所构成,在Lua中有以下几种循环的结构:


for循环

Lua中for循环的基本格式为


定义一个var变量,让它从begin开始,以step为步长,变化到end,每次执行一次<执行体>。step也可以不写,默认为1。

用C#的语法去理解可以看成为

for(int i = begin; i <= end;i += step)
{
    <执行体>
}

演示一个实例,代码如下,


编译后输出为:


以上是for循环的基本形式和用法,Lua中的for循环还有另一种形式,类似于C#中的foreach,其格式为:


tab为一个表类型的数据,k是表的索引值,v是k对应的表中的元素,即对每一个tab表中的元素都执行一次<执行体>。


如上实例的输出为:




while循环

Lua中while循环的格式为


当condition为true时,执行一次执行体,condition可以是任意的表达式,之前介绍boolean变量类型的时候也说明了,除去nil和false这两值判断为"错"之外,其余的都为“对”。

我们演示一个实例,让控制台依次打印出5到1的数字,Lua脚本代码如下:


其输出为:


while循环中还一个比较有意思的就是死循环,也称无限循环,我们在写程序的时候要注意避开生成死循环,这会让我们的程序奔溃~,一个最简单的死循环如下:




repeat...until    

Lua中repeat...until相当于do...while,是先执行一次循环体后,再进行循环条件的判断,其格式如下:


先执行一次执行体,再对condition条件进行判断,为true则跳出循环,我们演示一个实例同样用来输出5到1的数字


编译输出为:


猜你喜欢

转载自blog.csdn.net/qq_35445058/article/details/80908999