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=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被赋予一个对应该索引的数组元素值。

原文地址:https://www.cnblogs.com/oldtrafford/p/3817229.html