出版社:电子工业出版社
年代:2008
定价:50.0
本书是《Lua程序设计(第1版)》的更新和扩展,在第1版的基础上进行了较大的改进,并且加入了很多新的知识点,全面展示Lua 5.1的新特性。本书内容丰富,第一部分介绍了Lua语言所具有的所有功能,并使用大量示例来演示如何将它们运用到实际的任务中;二部分深入地介绍了Lua中唯一的一种数据结构——table,还讨论了数据结构、持久化、包、面向对象编程;第三部分展示了Lua的标准库,部分对那些想将Lua作为一门独立语言来使用的人特别有用,部分中每一章介绍一个库,包括数学库、table库、字符串库、I/O库、操作系统库、调试库;书的最后一部分将介绍Lua与C语言之间的API,这是为那些想用C语言来访问Lua功能的人准备的。
第1部分
第1章开始
1.1程序块(chunk)
1.2词法规范
1.3全局变量
1.4解释器程序(thedtand-sloneinterpreter)
第2章类型与值
2.1nil(空)
2.2boolean(布尔)
2.3number(数字)
2.4string(字符串)
2.5table(表)
2.6function(函数)
2.7userdata(自定义类型)和thread(线程)
第3章表达式
3.1算术操作符
3.2关系操作符
3.3逻辑操作符
3.4字符串连接
3.5优先级
3.6table构造式(tableconstructor)
第4章语句
4.1赋值
4.2局部变量与块(block)
4.3控制结构
4.3.1ifthenelse
4.3.2while
4.3.3repeat
4.3.4数字型for(numericfor)
4.3.5泛型for(genericfor)
4.4break与return
第5章函数
5.1多重返回值(multipleresults)
5.2变长参数(variablenumberofarguments)
5.3具名实参(namedarguments)
第6章深入函数
6.1closure(闭合函数)
6.2非全局的函数(non-globalfunction)
6.3正确的尾调用(propertailcall)
第7章迭代器与泛型for
7.1迭代器与closure
7.2泛型for的语义
7.3无状态的迭代器
7.4具有复杂状态的迭代器
7.5真正的迭代器
第8章编译、执行与错误
8.1编译
8.2C代码
8.3错误(error)
8.4错误处理与异常
8.5错误消息与追溯(traceback)
第9章协同程序(coroutine)
9.1协同程序基础
9.2管道(pipe)与过滤器(filter)
9.3以协同程序实现迭代器
9.4非抢先式的(non-preemptive)多线程
第10章完整的示例
10.1数据描述
10.2马尔可夫链(markovchain)算法
第2部分
第11章数据结构
11.1数组
11.2矩阵与多维数组
11.3链表
11.4队列与双向队列
11.5集合与无序组(bag)
11.6字符串缓冲
11.7图
第12章数据文件与持久性
12.1数据文件
12.2串行化(Serialization)
12.2.1保存无环的table
12.2.2保存有环的table
第13章元表(metatable)与元方法(meatmethod)
13.1算术类的元方法
13.2关系类的元方法
13.3库定义的元方法
13.4table访问的元方法
13.4.1__index元方法
13.4.2__newindex元方法
13.4.3具有默认值的table
13.4.4跟踪table的访问
13.4.5只读的table
第14章环境
14.1具有动态名字的全局变量
14.2全局变量声明
14.3非全局的环境
第15章模块与包
15.1require函数
15.2编写模块的基本方法
15.3使用环境
15.4module函数
15.5子模块与包
第16章面向对象编程
16.1类
16.2继承
16.3多重继承
16.4私密性
16.5单一方法(single-method)做法
第17章弱引用table
17.1备忘录(memoize)函数
17.2对象属性
17.3回顾table的默认值
第3部分
第18章数学库
第19章table库
19.1插入和删除
19.2排序
19.3连接
第20章字符串库
20.1基础字符串函数
20.2模式匹配(pattern-matching)函数
20.2.1string.find函数
20.2.2string.match函数
20.2.3string.gsub函数
20.2.4string.gmatch函数
20.3模式
20.4捕获(capture)
20.5替换
20.5.1URL编码
20.5.2tab扩展
20.6技巧
第21章I/O库
21.1简单I/O模型
21.2完整I/O模型
21.2.1性能小诀窍
21.2.2二进制文件
21.2.3其他文件操作
第22章操作系统库
22.1日期和时间
22.2其他系统调用
第23章调试库
23.1自省机制
23.1.1访问局部变量
23.1.2访问非局部的变量(non-localvarible)
23.1.3访问其他协同程序
23.2钩子
23.3性能剖析(profile)
第4部分
第24章CAPI概述
24.1第一个示例
24.2栈
24.2.1压入元素
24.2.2查询元素
24.2.3其他栈操作
24.3CAPI中的错误处理
24.3.1应用程序代码中的错误处理
24.3.2库代码中的错误处理
第25章扩展应用程序
25.1基础
25.2table操作
25.3调用Lua函数
25.4一个通用的调用函数
第26章从Lua调用C
26.1C函数
26.2C模块
第27章编写C函数的技术
27.1数组操作
27.2字符串操作
27.3在C函数中保存状态
27.3.1注册表(registry)
27.3.2C函数的环境
27.3.3upvalue
第28章用户自定义类型
28.1userdata
28.2元表
28.3面向对象的访问
28.4数组访问
28.5轻量级userdata(lightuserdata)
第29章管理资源
29.1目录迭代器
29.2XML分析器
第30章线程和状态
30.1多个线程
30.2Lua状态
第31章内存管理
31.1分配函数
31.2垃圾收集器
31.2.1原子操作
31.2.2垃圾收集器的API
最近几年Lua编程语言发展迅速,已从原来的强项游戏领域,扩展到了其他的应用领域,例如AdobephotoshopLightroom,作者很高兴本书能对这些发展作出贡献。本书不同语言的翻译版不仅会帮助到中国Lua社区的广大爱好者,更有助于Lua在世界范围内的发展。 本书是《Lua程序设计》(第1版)的更新和扩展,在第1版的基础上进行了较大的改进,并且加入了很多新的知识点。 介绍了Lua语言所具有的功能,并使用大量示例来演示如何将它们运用到实际的任务中。 深入地介绍了Lua中唯一的数据结构table,还讨论了数据结构、持久化、包和面向对象编程。 展示了Lua的标准库,对那些想将Lua作为一门独立语言来使用的开发者特别有用,每一章介绍一个库,包括数学库、table库、字符串库、I/O库、操作系统库、调试库。 介绍Lua与C语言之间的API,这是为那些想用C语言来访问Lua功能的人准备的。 本书可作为广大Lua爱好者的自学用书,也可以作为大学相相关专业的教学参考书。
(巴西) 罗伯拖·鲁萨利姆斯奇 (Roberto Ierusalimschy), 著
(瑞典) 阿姆斯特朗 (Armstrong,J.) , 著
(美) 卡尔森 (Carlson,L.) , 著
(瑞典) 阿姆斯特朗 (Armstrong,J.) , 著
(美) 吉姆·布兰迪 (Jim Blandy) , (美) 贾森·奥伦多夫 (Jason Orendorff) , 著
(美) 苏帕拉马尼亚姆 (Subramaniam,V.) , 著
(美) 托马斯 (Thomas,D.) , 著
(美) 斯特罗姆 (Strom,C.) , 著
(美) 保罗森 (Paulson,L.C.) , 著