- 1、本文档共173页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lua编程指南
Lua 5.1 参考手册
by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes
云风 译?
Copyright?? 2006 L, PUC-Rio. All rights reserved.
1 -?介绍
Lua 是一个扩展式程序设计语言,它被设计成支持通用的过程式编程,并有相关数据描述的设施。 Lua 也能对面向对象编程,函数式编程,数据驱动式编程提供很好的支持。 它可以作为一个强大、轻量的脚本语言,供任何需要的程序使用。 Lua 以一个用?clean?C 写成的库形式提供。(所谓 Clean C ,指的 ANSI C 和 C++ 中共通的一个子集)
作为一个扩展式语言,Lua 没有 main 程序的概念:它只能?嵌入?一个宿主程序中工作,这个宿主程序被称作?embedding program?或简称为?host?。 宿主程序可以通过调用函数执行一小段 Lua 代码,可以读写 Lua 变量,可以注入 C 函数让 Lua 代码调用。 这些扩展的 C 函数,可以大大的扩展了 Lua 可以处理事务的领域,这样就可以订制出各种语言, 而它们共享一个统一的句法格式的框架。 Lua 的官方发布版就包含了一个叫做?lua?的简单的宿主程序,它用 Lua 库提供了一个保证独立的 Lua 解释器。
Lua 是一个自由软件,它的使用许可决定了对它的使用过程一般没有任何保证。 这份手册中描述的东西的实现,可以在 Lua 的官方网站??找到,
跟其它的许多参考手册一样,这份文档有些地方比较枯燥。 关于 Lua 的设计想法的探讨,可以看看 Lua 网站上提供的技术论文。 有关用 Lua 编程的细节介绍,可以读一下 Roberto 的书,Programming in Lua (Second Edition)?。
2 -?语言
这一节从词法、语法、句法上描述 Lua 。 换句话说,这一节描述了哪些 token (符记)是有效的,它们如何被组合起来,这些组合方式有什么含义。
关于语言的构成概念将用常见的扩展 BNF 表达式写出。也就是这个样子: {a} 意思是 0 或多个?a?, [a] 意思是一个可选的?a?。 非最终的符号会保留原来的样子,关键字则看起来像这样?kword?, 其它最终的符号则写成 `=′ 。 完整的 Lua 语法可以在本手册最后找到。
2.1 -?词法约定
Lua 中用到的?名字(也称作?标识符)可以是任何非数字开头的字母、数字、下划线组成的字符串。 这符合几乎所有编程语言中关于名字的定义。 (字母的定义依赖于当前环境:系统环境中定义的字母表中的字母都可以被用于标识符。) 标识符用来命名变量,或作为表的域名。
下面的关键字是保留的,不能用作名字:
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while
Lua 是一个大小写敏感的语言:?and?是一个保留字,但是?And?和?AND?则是两个不同的合法的名字。 一般约定,以下划线开头连接一串大写字母的名字(比如?_VERSION)被保留用于 Lua 内部全局变量。
下面这些是其它的 token :
+ - * / % ^ #
== ~= = = =
( ) [ ] { }
; : , . .. ...
字符串既可以用一对单引号引起,也可以是双引号,里面还可以包含类似 C 的转义符: \a (响铃), \b (退格), \f (表单), \n (换行), \r (回车), \t (横向制表), \v (纵向制表), \\ (反斜杠), \ (双引号), 以及 \ (单引号)。 而且,如果在一个反斜杠后跟了一个真正的换行符,其结果就是在字符串中产生一个换行符。 我们还可以用反斜杠加数字的形式?\ddd?来描述一个字符。这里,?ddd?是一串最多三位的十进制数字。(注意,如果需要在这种描述方法后接一个是数字的字符, 那么反斜杠后必须写满三个数字。)Lua 中的字符串可以包含任何 8 位的值。包括用 \0 表示的零。
只有在你需要把不同的引号、
文档评论(0)