1 / 207
文档名称:

Lua 5.3 参考手册.docx

格式:docx   大小:272KB   页数:207页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

Lua 5.3 参考手册.docx

上传人:小枷 2017/12/24 文件大小:272 KB

下载得到文件列表

Lua 5.3 参考手册.docx

相关文档

文档介绍

文档介绍:Lua 参考手册
作者 Roberto Ierusalimschy, Luiz Henrique de Figueiredo, Waldemar Celes
译者 云风
, PUC-Rio 版权所有© 2015 , 在遵循 Lua license 条款下,可自由使用。
目录 · 索引 · 中英术语对照表
1 – 简介
Lua 是一门扩展式程序设计语言,被设计成支持通用过程式编程,并有相关数据描述设施。同时对面向对象编程、函数式编程和数据驱动式编程也提供了良好的支持。它作为一个强大、轻量的嵌入式脚本语言,可供任何需要的程序使用。 Lua 由 clean C(标准 C 和 C++ 间共通的子集)实现成一个库。
作为一门扩展式语言,Lua 没有"main" 程序的概念: 它只能 嵌入 一个宿主程序中工作, 该宿主程序被称为 被嵌入程序 或者简称 宿主
 。宿主程序可以调用函数执行一小段 Lua 代码,可以读写 Lua 变量,可以注册 C 函数让 Lua 代码调用。依靠 C 函数,Lua 可以共享相同的语法框架来定制编程语言,从而适用不同的领域。 Lua 的官方发布版包含一个叫做 lua 的宿主程序示例, 它是一个利用 Lua 库实现的完整独立的 Lua 解释器,可用于交互式应用或批处理。
Lua 是一个自由软件,其使用许可证决定了它的使用过程无需任何担保。本手册所描述的实现可以在 Lua 的官方网站 。
与其它的许多参考手册一样,这份文档有些地方比较枯燥。关于 Lua 背后的设计思想, 可以看看 Lua 网站上提供的技术论文。至于用 Lua 编程的细节介绍, 请参阅 Roberto 的书,Programming in Lua。
2 – 基本概念
本章描述了语言的基本概念。
– 值与类型
Lua 是一门动态类型语言。这意味着变量没有类型;只有值才有类型。语言中不设类型定义。所有的值携带自己的类型。
Lua 中所有的值都是 一等公民。这意味着所有的值均可保存在变量中、当作参数传递给其它函数、以及作为返回值。
Lua 中有八种基本类型: nil、boolean、number、string、function、userdata、 thread 和 table。 Nil 是值 nil 的类型, 其主要特征就是和其它值区别开;通常用来表示一个有意义的值不存在时的状态。 Boolean 是 false 与 true 两个值的类型。 nil 和 false 都会导致条件判断为假; 而其它任何值都表示为真。 Number 代表了整数和实数(浮点数)。 String 表示一个不可变的字节序列。 Lua 对 8 位是友好的: 字符串可以容纳任意 8 位值, 其中包含零('\0') 。 Lua 的字符串与编码无关; 它不关心字符串中具体内容。
number 类型有两种内部表现方式, 整数 和 浮点数。对于何时使用哪种内部形式,Lua 有明确的规则, 但它也按需(参见 §)作自动转换。因此,程序员多数情况下可以选择忽略整数与浮点数之间的差异或者假设完全控制每个数字的内部表现方式。标准 Lua 使用 64 位整数和双精度(64 位)浮点数, 但你也可以把 Lua 编译成使用 32 位整数和单精度(32 位)浮点数。以 32 位表示数字对小型机器以及嵌入式系统特别合适。(参见  文件中的宏 LUA_32BITS 。)
Lua 可以调用(以及操作)用 Lua 或 C (参见 §)编写的函数。这两种函数有统一类型 function。
userdata 类型允许将 C 中的数据保存在 Lua 变量中。用户数据类型的值是一个内存块, 有两种用户数据: 完全用户数据 ,指一块由 Lua 管理的内存对应的对象; 轻量用户数据 ,则指一个简单的 C 指针。用户数据在 Lua 中除了赋值与相等性判断之外没有其他预定义的
操作。通过使用元表 ,程序员可以给完全用户数据定义一系列的操作(参见 §)。你只能通过 C API 而无法在 Lua 代码中创建或者修改用户数据的值, 这保证了数据仅被宿主程序所控制。
thread 类型表示了一个独立的执行序列,被用于实现协程(参见 §)。 Lua 的线程与操作系统的线程毫无关系。 Lua 为所有的系统,包括那些不支持原生线程的系统,提供了协程支持。
table 是一个关联数组, 也就是说,这个数组不仅仅以数字做索引,除了 nil 和 NaN 之外的所有 Lua 值都可以做索引。(Not a Number 是一个特殊的数字,它用于表示未定义或表示不了的运算结果,比如 0/0。) 表可以是 异构 的; 也就是说,表内可以包含任何类型的值(

最近更新

2025年儒家文化体验度假区项目建议书 18页

环保设备危险品运输协议3篇 53页

柚皮苷抑制胶原诱导性小鼠关节炎症与骨破坏作.. 3页

初三语文开学第一课市公开课一等奖省赛课获奖.. 22页

某电信企业CRM系统设计与实现综述报告 3页

某型车身底部防护结构改进及优化技术研究 3页

2025年保险公司保险产品条款汇编38医疗疾病 201页

中级审计师审计理论与实务-中级审计师审计理论.. 31页

2025年保利文化广场幕墙工程投标文件 143页

构建促进数学思考的“五思”模式 3页

液态乳清储罐冷链配送协议3篇 50页

2025年例谈变形技巧在数学解题中的应用毕业论.. 17页

汽车行业研发中心装修合同3篇 52页

汽车办公装修模板3篇 53页

人身风险与风险管理 14页

木拱廊桥受力机理的有限元分析 3页

2025年会计范本范文 10页

有界线性算子广义Aluthge变换的谱分析 3页

2025年优质甜橙生产基地建设项目建议书 12页

机械设备包车搬迁合同3篇 54页

2025年企业财务风险的控制与防范毕业论文设计.. 16页

智能热水热量计数学模型的研究 3页

智能公交项目管理研究--以银川市公共交通有限.. 3页

时尚商业装修合同样本3篇 50页

2025年-人教版五年级语文下册期中测试卷参考答.. 8页

旅游公司办公空间装修协议3篇 49页

冠心病心绞痛的防治(共33张) 33页

日照联通3G业务差异化竞争战略分析和对策研究.. 3页

日常生活中吉芬商品现象的经济学分析 3页

无线顺序控制系统的Petri网可靠性分析 3页