Lua学习笔记(三) Lua语法简述(二)

    在昨天,我们介绍了 Lua 中的变量、和运算符,今天我们来介绍 函数、for wihle 这些常用的关键字等。

函数:

    Lua 中的函数和 Javascript 中的有些相似,函数在书写的时候,前面都需要加上 function 这个关键字, 上篇文章中提过 function 这个关键字,他在 Lua 中也是一种类型。下面我们来看看 Lua 中的一个简单函数是怎么写的。

   
   
   
   
  1. function printHello(a,b)  --a,b为参数 
  2. print(a,b); 
  3. print("Hello"
  4. end 

    在上面的一段函数中,函数的开头需要function 关键字来修饰它,表明它是一个“函数类型” ,当然既然成为“类型” 我们在程序中也可以这样写:

   
   
   
   
  1. testFuction=function (a,b) return a+b end  
  2. --testFuction就相当于这个函数的函数名了 

    所以说,Lua 的函数是很灵活的。

    在C/C++中我们总是用"{ }" 来括起一个函数,但是Lua中有所不同,大家也注意到了上边的代码,最后跟随着一个 "end" ,这个 end 就是来表明一个函数的结尾的。好了对于Lua中函数的初步认识就到这里,更深入的我们要留在以后实践中来体会。

关键字:

for

    C/C++中我们使用for 一般都是 for(变量=初始值;循环条件;步进算法){循环体} , 在 Lua 中for 的使用方法有不小的区别,Lua中是 for 变量初始值 , 变量最大值 , 步进值 do 循环体 end。这样写可能不够清晰,让我们看下如下代码:

   
   
   
   
  1. for(int a=0;a<5;a++){ 
  2. printf("%d",a);        //C 
  3.  
  4. for a=0,5,1 do         --'a=0'代表初值和变量,5是a的最大值,1是步进值 
  5. print(a)               --Lua 
  6. end 

   C中的花括号"{ }" 被替换成了 do  end ,而且注意for后面的条件没有括号"( )",所以在Lua中for的循环体是要写在do end 中的。

While

    Lua 中的While 和C中的无变化也只是把 花括号"{ }" ,替换成了do end 。

   
   
   
   
  1. a=0
  2. while a~=5 do   --条件为a不等于5 
  3. print(a); 
  4. a=a+1; 
  5. end 

Repeat

    相当于C中的do .. While 就是无论怎么样都是会执行一次的。

   
   
   
   
  1. a=0; 
  2. repeat 
  3. print(a) 
  4. a=a+1; 
  5. 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

   

    好了,今天就到这里,明天我们继续学习Lua。