标签
内容简介
本书是《Programming in Lua》第4版的中文译本,由Lua语言首席架构师Roberto Ierusalimschy亲自撰写,是Lua官方权威教程。第4版面向Lua 5.3(撰写时Lua语言的最新版本),对全书结构进行了重新组织,分为四个部分:第1部分“语言基础”从程序段、词法规范、全局变量、类型与值讲起,依次介绍数值、字符串、表、函数、输入输出与控制结构等基本语法;第2部分“编程实操”围绕闭包、模式匹配、日期时间、位运算、数据结构、数据文件与序列化、编译执行与错误、模块和包展开,通过若干小插曲案例把语言要素用到实际问题上;第3部分“语言特性”深入迭代器与泛型for、元表和元方法、面向对象编程、环境、垃圾收集、协程与反射等底层机制;第4部分“C语言API”系统讲解Lua与C的交互,包括扩展应用、在Lua中调用C、编写C函数技巧、用户自定义类型、资源管理以及线程与状态。书中还细致说明了Lua 5.3引入的整型、位运算等新特性,并在各章配有练习题,读者在掌握语言用法之余,还能体会一门脚本语言在设计与实现层面的权衡。
编辑推荐
市面上讲Lua的书不少,但由语言作者本人执笔、且真正讲透“为什么这样设计”的,只有这一本。第4版不是对上一版的修修补补,而是配合Lua 5.3做了整篇重排:语言基础、编程实操、语言特性、C语言API四部分层层递进,读完第一部分能写脚本,读到第三部分能理解元表、协程与垃圾回收这些Lua的“性格”,第四部分则把手伸进引擎内部,教你如何让C程序与Lua互相调用。书中穿插的八皇后问题、词频统计、马尔可夫链、用协程实现多线程等小插曲,篇幅不大,却是把零散语法串成完整思路的关键;每章末尾的练习题也很值得动手做一遍。由梅隆魁翻译,术语与官方手册保持了一致,译文总体准确可读。对于被Unity、Redis、nginx、OpenResty、Wireshark等大量项目用作嵌入脚本的Lua来说,这本书既是入门教程,也是查漏补缺的参考手册。
适合谁读
适合
- 已有其他语言基础、想快速上手Lua的程序员
- 从事游戏开发、嵌入式、OpenResty等Lua实战场景的开发者
- 需要把Lua嵌入自有C/C++程序、扩展脚本能力者
- 想借一门小而完整的语言理解编程语言设计与实现的读者
不适合
- 完全没有编程经验的零基础读者
- 只想找Lua插件速查表、不打算系统学习的人
- 希望本书直接讲解某个具体游戏引擎Lua API的读者
阅读建议
- 先按顺序读完第1部分并完成每章练习,打牢表、函数、字符串的基础。
- 第2、3部分的案例建议在本地敲一遍代码,配合独立解释器观察输出。
- 第4部分C API需要边读边写小型C宿主程序,可对照官方参考手册验证。
- 遇到Lua版本差异时,留意书中关于5.3整型与位运算的兼容性说明。
出版社简介
电子工业出版社
中国 · 成立于 1982 年
电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。
目录
- 第1部分 语言基础
- 1 Lua语言入门
- 2 小插曲:八皇后问题
- 3 数值
- 4 字符串
- 5 表
- 6 函数
- 7 输入输出
- 8 补充知识
- 第2部分 编程实操
- 9 闭包
- 10 模式匹配
- 11 小插曲:出现频率最高的单词
- 12 日期和时间
- 13 位和字节
- 14 数据结构
- 15 数据文件和序列化
- 16 编译、执行和错误
- 17 模块和包
- 第3部分 语言特性
- 18 迭代器和泛型for
- 19 小插曲:马尔可夫链算法
- 20 元表和元方法
- 21 面向对象编程
- 22 环境
- 23 垃圾收集
- 24 协程
- 25 反射
- 26 小插曲:使用协程实现多线程
- 第4部分 C语言API
- 27 C语言API总览
- 28 扩展应用
- 29 在Lua中调用C语言
- 30 编写C函数的技巧
- 31 C语言中的用户自定义类型
- 32 管理资源
- 33 线程和状态
常见问题
这本书对应Lua的哪个版本?
第4版主要面向Lua 5.3,这是作者撰写时的最新版本,书中详细介绍了5.3引入的整型、位运算等新特性。若使用5.4或更早版本,部分细节会有差异,建议对照对应版本官方手册。
没有其他编程语言基础能读懂吗?
不太合适。本书虽从基础语法讲起,但节奏较快,默认读者了解变量、循环、函数等通用概念。零基础读者建议先学一门入门语言,再回来看本书会更顺畅。
这本书和官方参考手册有什么区别?
本书是教程性质的系统讲解,重在讲清用法与设计思路,并配有大量示例和练习;官方参考手册则是逐条定义语言与标准库的规范文本,更适合作为查阅工具。两者搭配使用效果最好。
书里的C语言API部分需要什么基础?
需要能读懂C语言代码,了解指针、结构体与模块编译方式。如果只是用Lua写脚本,可以先略过第4部分,等需要做扩展或嵌入时再回头精读。
中文译本质量如何?
由梅隆魁翻译,术语基本沿用Lua官方中文文档的习惯用法,语句通顺。个别技术名词可能与其他资料译法不同,可结合英文原文或官方手册对照理解。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。