Lua流程控制

if语句

控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,true和非nil为真

注意:Lua中0为真

-- 0为true
if(0)
then
	print("0 is ture")
end


if...else语句

a=100
if(a<20)
then
	print("a < 20")
else
	print("a > 20")
end
print("a :",a)


if ... else if...else语句

Lua if语句可以与else if...else语句搭配使用,在if条件表达式为false时执行else if...else语句代码块,用于检测多个条件语句。

a=100
if(a==10)
then
	print("a=10")
elseif(a==20)
then
	print("a=20")
elseif(a==30)
then 
	print("a=30")
else
	print("no match!")
end
print("a :",a)


if嵌套语句

if语句允许嵌套,这就意味着你可以在一个if或elseif语句中插入其他的if或elseif语句。

a=100
b=200
if(a==100)
then 
	if(b==200)
	then
		print("a=100&b=200")
	end
end
print("a:",a)
print("b:",b)


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

while循环

while循环语句在判断条件为true时会重复执行循环体语句。

语法:

while(condition)
do
	statements
end
a=10
while(a<20)
do
	print("a=",a)
	a=a+1
end


for循环

for循环语句可以重复执行指定语句,重复次数可在for语句中控制。

Lua中for语句有两大类:

数值for循环

泛型for循环

数值for循环

数值for循环语法格式:

for var=exp1,exp2,exp3 do
	<执行体>
end
var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次“执行体”。exp3是可选的,如果不指定,默认为1

for i=5,1,-1 do
	print(i)
end


function f(x)
	print("function")
	return x*2
end
for i=1,f(2) do 
	print(i)
end


for的三个表达式在循环开始前一次性求值,以后不再进行求值。比如上面的f(x)只会在循环开始前执行一次。

泛型for循环

泛型for循环通过一个迭代器函数来遍历所有值,类似java中的foreach语句。

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


repeat...until循环

Lua编程语言中repeat...until循环语句不同于for和while循环,for和while循环的条件语句在当前循环执行开始时判断,而repeat...until循环的条件语句在当前循环结束后判断。

repeat...until先执行后判断,所以repeat...until的循环体至少执行一次。

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


break语句

break语句在循环体中,用于退出当前循环或语句,并开始执行脚本紧接着的语句。














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值