原文链接:http://502317120.blog.51cto.com/4062300/1163198
for
C/C++中我们使用for 一般都是 for(变量=初始值;循环条件;步进算法){循环体} , 在 Lua 中for 的使用方法有不小的区别,Lua中是 for 变量初始值 , 变量最大值 , 步进值 do 循环体 end。这样写可能不够清晰,让我们看下如下代码:
- for(int a=0;a<5;a++){
- printf("%d",a); //C
- }
- for a=0,5,1 do --'a=0'代表初值和变量,5是a的最大值,1是步进值
- print(a) --Lua
- end
C中的花括号"{ }" 被替换成了 do end ,而且注意for后面的条件没有括号"( )",所以在Lua中for的循环体是要写在do end 中的。
While
Lua 中的While 和C中的无变化也只是把 花括号"{ }" ,替换成了do end 。
- a=0;
- while a~=5 do --条件为a不等于5
- print(a);
- a=a+1;
- end
Repeat
相当于C中的do .. While 就是无论怎么样都是会执行一次的。
- a=0;
- repeat
- print(a)
- a=a+1;
- until a==5 --'a==5'为终止条件
写法同上述代码,以repeat开始 until结束 until后面伴随着终止的条件。
Lua中的关键字
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while