因为团队项目的需要,最近在学习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