lua脚本学习7

Lua 循环

很多情况下我们需要做一些有规律性的重复操作,因此在程序中就需要重复执行某些语句。

一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。

循环结构是在一定条件下反复执行某段程序的流程结构,被反复执行的程序被称为循环体。

循环语句是由循环体及循环的终止条件两部分组成的。

Lua 语言提供了以下几种循环处理方式:

循环类型 描述
while 循环 在条件为 true 时,让程序重复地执行某些语句。执行语句前会先检查条件是否为 true。
for 循环 重复执行指定语句,重复次数可在 for 语句中控制。
repeat...until 重复执行循环,直到 指定的条件为真时为止
循环嵌套 可以在循环内嵌套一个或多个循环语句(while do ... end;for ... do ... end;repeat ... until;)

循环控制语句

循环控制语句用于控制程序的流程, 以实现程序的各种结构方式。

Lua 支持以下循环控制语句:

控制语句 描述
break 语句 退出当前循环或语句,并开始脚本执行紧接着的语句。

无限循环

在循环体中如果条件永远为 true 循环语句就会永远执行下去,以下以 while 循环为例:


while( true )
do
   print("循环将永远执行下去")
end  


loop.lua内容


-- while循环
a = 5;
while(a > 0) do
print(a);
a = a - 1;
end


print();


---------------------------------------------------
--[[ for循环
for var=exp1,exp2,exp3 do    --var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次"执行体"。exp3是可选的,如果不指定,默认为1。
    <执行体>  
end  
]]
for i = 1,10 do
print(i);
end


function f(x)
print("function");
return x*2;
end
-- for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次,其结果用在后面的循环中。
for i = 1,f(5) do   --循环前,先调用f(5) 得出10
print(i);
end






-- for循环table


days = {"Suanday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  
for k,v in ipairs(days) do
print(v);
end


for k,v in pairs(days) do
print(v);
end


--[[
在lua中pairs与ipairs两个迭代器的用法相近,但有一点是不一样的:
pairs可以遍历表中所有的key,并且除了迭代器本身以及遍历表本身还可以返回nil;
但是ipairs则不能返回nil,只能返回数字0,如果遇到nil则退出。它只能遍历到表中出现的第一个不是整数的key
]]


-------------------------------------------------
-- repeat .. until循环


a = 10;
repeat
print("value is :",a);
a = a+1;
until(a > 15)






----------------------------------------------
--循环嵌套
for x = 1,5 do
print("now is ",x);
for i = 1,2 do
print("loop",i .. " times");
end
end




j = 2;
for i = 2,10 do
for j = 2,(i/j),2 do
if(not(i%j)) then
break;
end
if(j > i/j) then
print("i's value is",i);
end
end
end






















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值