Lua提供了一组传统的,小巧的控制结构,包括用于条件执行的if,用于迭代的while、repeat和for。所有的控制结构都有一个现实的终止符号:if for while 都以end结尾,repeat以until作为结尾。
控制结构中的条件表达式可以使任何的值,Lua将所有false和nil的值视为“真”。
1. if then else语句
if a<0 then a=0 end if a<b then return a else return b end
嵌套的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 =1 while i<10 do print(i) i=1+1; end
3. repeat until
until 条件为真
repeat print(i)
i=i+1 until i >10
4. 数字型for循环
语法
for exp1, exp2, exp3 do <code> do exp1初始值,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) do print(v) end
Lua的基础库提供了ipairs,这是一个用于用于数组的迭代的函数。每次循环,i会被赋予一个索引的值,同时v被赋予一个对应该索引的数组元素值。
原文地址:http://www.cnblogs.com/corolla/p/3817229.html