`
wsql
  • 浏览: 11716538 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

(1)LUA程序设计-开篇(beginning)

 
阅读更多

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)
(3)LUA程序设计-表达式与语句(expression & statement)(2012-07-29 22:51)
(4)LUA程序设计-函数及深入理解(function)(2012-08-03 23:00)
(5)LUA程序设计-迭代器(state iterator & stateless iterator)(2012-08-06 23:05)
(6)LUA程序设计-编译执行与错误(compile 、run & error)处理(2012-08-11 00:05)
(7)LUA程序设计-协同程序(coroutine)(2012-09-01 00:06)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics