1.LUA介绍
LUA是一种可扩展的程序设计语言,它被设计成支持一般数据描述工具的处理程序,它对面向对象編程,函数式編程,数据驱动编程也提供了很好的支持。LUA希望能够为一种功能强大的,轻量型的,可嵌入的脚本语言,以便供任何程序使用。LUA的实现库 依赖于用纯C,通用的标准C/C++子集。
作为一种可扩展的程序设计语言,LUA并没有MAIN程序的概念,它只是嵌入于宿主程序当中使用。主机程序调用方法去执行一段LUA,可以读写LUA变量,可以注册被LUA调用的C函数。尽管采用了C函数,LUA可以被增强以应对各种各样的不同领域。因此可以创建自定义的程序语言,共享同一个语法框架。LUA发布包里包含一个样本主机程序,叫LUA(解释器)。它利用LUA库提供一个完整,独立的解释器,用于交互式或批量使用。
Lua is an extension programming language designed to support general procedural programming with data description facilities.It also offers good support for object-oriented programming,functional programming, and data-driven programming.Lua is intended to be used as a powerful, lightweight,embeddable scripting language for any program that needs one.Lua is implemented as a library, written inclean C,the common subset of StandardC and C++.
Being an extension language, Lua has no notion of a "main" program:it only worksembedded in a host client,called theembedding program or simply thehost.The host program can invoke functions to execute a piece of Lua code,can write and read Lua variables,and can register Cfunctions to be called by Lua code.Through the use of Cfunctions, Lua can be augmented to cope with a wide range of different domains,thus creating customized programming languages sharing a syntactical framework.The Lua distribution includes a sample host program calledlua
,which uses the Lua library to offer a complete, standalone Lua interpreter,for interactive or batch use.
2。Linux下LUA的编绎安装
2.1下载:
在http://www.lua.org/download.html下载LUA源码。目前最新版本是5.2.1 (lua-5.2.1.tar.gz)
2.2编译(terminal 操作)
首先确保存你机上安装了libreadline-dev包,如果没有安装,先安装
命令:sudo apt-cache search libreadline-dev 查找
sudo apt-get install libreadline-dev 安装
然后再进行编译操作(假设解压目录为/home/aven/下)
移动: mv lua-5.2.1.tar.gz /home/aven/
解压: lua-5.2.1.tar.gz,tar -zxvflua-5.2.1.tar.gz
进到lua-5.2.1目录下,make后,显示该版本支付的OS平台,由于我的平台是UBUNTU,所以选择LINUX平台,输入make linux,执行完毕后,LUA就编译安装了。
3.LUA相关术语/基本概念
3.1 LUA脚本的调用执行方式
a. lua xxx.lua 加载lua文件,lua文件内可以是多条语句,和自定义函数的命令集合,多条语句间可以用空白格隔开,也可以用分号
b. 直接运行lua解释器,进入到交互模式,输入lua脚本代码,也可以在交互模式下采用dofile('xxx.lua'),导入源文件,假设xxx.lua里定义了fuck函数,那么通过dofile后,在交互下可以调用fuck函数。(交互模式下的退出方式 os.exit()或都CTRL+D)
3.2 程序块
如上所述(as stated above),一个lua源文件,或者交互模式下一行代码,都被称为一个chunk程序块.程序块内,如果有多条语句,语句与语句之间可以用空白格隔开,也可以用分号隔开,一行可以输入多条语句,可用空白,或分号隔开。
3.3 lua解释器的常用参数选项wjxv
lua -e "xxx lua code" 将脚本代码直接用lua解释器执行
lua -i 表示进入到交互模式
lua -l fuck 表示在指定路径下查找并加载fuck库文件
3.4 lua 参数arg table
lua -i script a b c
[-2] [-1] [0] [1] [2] [3]
lua解释器在执行前,会用所有命令行参数创建一个名为 arg的table,script的索引始终为0。
eg.
lua -i -l a -l b -e "print('hello word')"
先加载a,再加载b,再执行打印,最后进入交互模式
4.词法
a.标识符命名,数字字母下划线构成,不能以数字开头,(以_开头时,最好不要以_+大字母命令,因为LUA有一些内置的就是以这种形式命名的,如_PROMPT,_ENV,怕与之冲突)
b.区别大小写
c.不能以内置保留字作标识符
5.注释
行注释 --
块注释 ---[[(去掉一个‘-’,块注释便不起作用)
--]]
6.全局变量不需要声明,只要将该变量置非nil值即可,如果要删除该全局变量,只需要将其值置为nill即可。(后面将讲到8种基本数据类型时,再谈nil)
---------------------------------------------------------------------------------------------
(1)LUA程序设计-开篇(beginning)(2012-07-28 00:47) (2)LUA程序设计-类型与值(type & value)(2012-07-28 23:12)
|