在昨天,我们介绍了 Lua 中的变量、和运算符,今天我们来介绍 函数、for wihle 这些常用的关键字等。
Lua 中的函数和 Javascript 中的有些相似,函数在书写的时候,前面都需要加上 function 这个关键字, 上篇文章中提过 function 这个关键字,他在 Lua 中也是一种类型。下面我们来看看 Lua 中的一个简单函数是怎么写的。
- function printHello(a,b) --a,b为参数
- print(a,b);
- print("Hello")
- end
在上面的一段函数中,函数的开头需要function 关键字来修饰它,表明它是一个“函数类型” ,当然既然成为“类型” 我们在程序中也可以这样写:
- testFuction=function (a,b) return a+b end
- --testFuction就相当于这个函数的函数名了
所以说,Lua 的函数是很灵活的。
在C/C++中我们总是用"{ }" 来括起一个函数,但是Lua中有所不同,大家也注意到了上边的代码,最后跟随着一个 "end" ,这个 end 就是来表明一个函数的结尾的。好了对于Lua中函数的初步认识就到这里,更深入的我们要留在以后实践中来体会。
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 中的。
Lua 中的While 和C中的无变化也只是把 花括号"{ }" ,替换成了do end 。
- a=0;
- while a~=5 do --条件为a不等于5
- print(a);
- a=a+1;
- end
相当于C中的do .. While 就是无论怎么样都是会执行一次的。
- a=0;
- repeat
- print(a)
- a=a+1;
- until a==5 --'a==5'为终止条件
写法同上述代码,以repeat开始 until结束 until后面伴随着终止的条件。
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while
好了,今天就到这里,明天我们继续学习Lua。