因为团队项目的需要,最近在学习lua。下面介绍一下我对lua的了解和学习。

  一、lua介绍

  lua是一种脚本语言,由标准C编写而成,代码简介优美,像java一样具有跨平台性。它可以被C/C++调用,也可以调用C/C++中的函数。使用lua时可以将它作为扩展脚本,在嵌入式应用程序中,为其提供灵活的扩展和定制功能;也可以作为普通的配置文件,代替XML,ini等文件格式。在脚本引擎中使用运行速度基本上最快的lua可以取得事半功倍的效果。

 二、lua的运行方式

  lua有两种编程方式:交互式编程和脚本式编程。

  在交互式编程中,我们可以在命令行上运行lua命令后进入lua的shell中执行语句。

  在脚本式编程中,可以把脚本存成一个文件,用如下命令行来运行:>lua  file.lua;或是在代码开头添加:#!/usr/local/bin/lua,指定 Lua 的解释器 /usr/local/bin directory。(加上 # 号标记解释器会忽略它)

。接下来我们为脚本添加可执行权限,并执行:./file.lua 。

 三、语法

 1、注释

   在lua中,单行注释符号为--,块注释为--[[        --]]。

 2、变量

  lua是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。一般来说,lua中的变量均为全局变量,包括函数和语句块中的变量。除非变量前加了关键字local。如果你想删除一个全局变量,只需要将变量赋值为nil。

 3、数据类型

  lua中有8个基本类型分别为:nil:表示一个无效值(在条件表达式中相当于false)

  boolean:包含两个值:false和true

  number:表示双精度类型的实浮点数

  string:字符串由一对双引号或单引号来表示

  userdata:表示任意存储在变量中的C数据结构

  function:由 C 或 Lua 编写的函数

  thread:表示执行的独立线路,用于执行协同程序

  table:其实是一个"关联数组"(associative arrays),数组的索引可以是数字或者是字符串。在 Lua 里,table 的创建是通过"构造表达式"来完成,最简单构造表达式是{},用来创建一个空表。

 4、标示符

   lua是一个区分大小写的编程语言, 标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9), 不允许使用特殊字符如 @, $, 和 % 来定义标示符。

 5、其它

  . 循环

        while循环:while 条件 do … end
    repeat循环:repeat … until 条件
    for循环:for 变量 = 初值,终点值,步进 do … end
    for循环:for 变量1,变量2,… ,变量N in表或枚举函数 do … end

 .语句块
   语句块在C++/C中是用"{"和"}"括起来的,在Lua中,它是用do 和 end 括起来的。

 .赋值语句

      可以同时给多个变量赋值。

 .数值运算

   "^"表示指数乘方运算;连接两个字符串,可以用".."

 .比较运算

   除了不等于运算使用~=表示外,其它比较运算均与C/C++一样。

  (目前就了解和学习了这么多,在学的过程中都是将lua与C比较来学的,所以写的基本都是区别于C的东西。之后需将继续学习。)

 参考资料:http://job.17173.com/content/2009-01-22/20090122143452606,1.shtml