首页 > 代码库 > Lua学习(3)——控制结构

Lua学习(3)——控制结构

Lua提供了一组传统的,小巧的控制结构,包括用于条件执行的if,用于迭代的while、repeat和for。所有的控制结构都有一个现实的终止符号:if for while 都以end结尾,repeat以until作为结尾。

控制结构中的条件表达式可以使任何的值,Lua将所有false和nil的值视为“真”。

1. if then else语句

if a<0 then     a=0endif a<b then     return aelse     return bend

 嵌套的if,可以使用elseif

if op=="+" then    r = a+b;elseif op=="-" then    r = a-b;elseif op=="*" then    r = a*b;elseif op=="/" then    r = a/b;else     error("invalid operation")end

 

2. while

i =1while i<10 do    print(i)    i=1+1;end

 

3. repeat until

until 条件为真

repeat  print(i)
  i=i+1until i >10

 

4. 数字型for循环

语法

for exp1, exp2, exp3 do   <code> doexp1初始值,exp2终止值,exp3是步长。步长exp3 默认是1

 

for i=1,10,2 do        print(i)end

 

for i=1,10 do        print(i)end

 

和C、C++一样也有break语句,终止用math.huge

for i=1,math.huge do  if i>5 then        break    end    print(i)end    

 

4. 泛型for循环

for i,v in ipairs(tb) doprint(v)end

 Lua的基础库提供了ipairs,这是一个用于用于数组的迭代的函数。每次循环,i会被赋予一个索引的值,同时v被赋予一个对应该索引的数组元素值。