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年女性妇科疾病检查全攻略 30页

版国有土地使用权租赁合同(宗地租赁合同) 6页

2025年度生物科技研发与转让交易合同协议书 9页

2025年度生物技术研发免责与成果转化合同 9页

版公司战略合作法律顾问合同 6页

2025年度生态循环农业养殖合作意向书 9页

2025年医院感染防控技能提升培训 30页

2025年BIM技术在养老公寓成本控制与项目管理中.. 30页

2025年免疫学核心揭秘免疫系统与器官功能奥秘.. 27页

2025年度生态农业合伙入股种植合同 8页

2025年度生态保护区临时土地租赁及生态环境保.. 9页

2025年人心解析社会心理学奥秘 20页

2025年度环保项目中介服务合同模板 9页

2025年度环保设备制造员工自愿解除劳动合同协.. 7页

2025年度环保型清洁用品采购及保洁服务合同 9页

2025年个人健康记录管理 37页

2025年度特色课程培训学校品牌授权转让协议 8页

2025年度特色商业街区前期物业管理服务协议 8页

2025年度特种作物种植用地租赁合同范本 8页

2025年度物流园区前期物业管理服务合同 8页

2025年度物业门卫服务质量监控合同 8页

2025年度灾害预防工程外包安全协议 9页

2025年度深圳金融服务业劳动合同电子版规范文.. 8页

2025年度海洋工程设备全新安装合同及海洋环境.. 9页

2025年度海上风电场建设施工协议 9页

2025年度河北省房屋租赁及租期调整合同 8页

2025年度汽车维修保养委托协议合同 9页

2025年度汽车动产质押合同——汽车租赁公司车.. 8页

2025年度水利工程质保金监管与服务协议 8页

2025年安徽省初中学业水平考试名校联考(一)数.. 2页