简介
本书是《Lua程序设计》(第1版)的更新和扩展,在第1版的基础上进行了较大的改进,并且加入了很多新的知识点。
介绍了Lua语言所具有的功能,并使用大量示例来演示如何将它们运用到实际的任务中。
深入地介绍了Lua中唯一的数据结构——table,还讨论了数据结构、持久化、包和面向对象编程。
展示了Lua的标准库,对那些想将Lua作为一门独立语言来使用的开发者特别有用,每一章介绍一个库,包括数学库、table库、字符串库、I/O库、操作系统库、调试库。
介绍Lua与C语言之间的API,这是为那些想用C语言来访问Lua功能的人准备的。
本书可作为广大Lua爱好者的自学用书,也可以作为大学相相关专业的教学参考书。
目录
第1部分
第1章 开始
1.1 程序块(chunk)
1.2 词法规范
1.3 全局变量
1.4 解释器程序(the dtand-slone interpreter)
第2章 类型与值
2.1 nil(空)
2.2 boolean(布尔)
2.3 number(数字)
2.4 string(字符串)
2.5 table(表)
2.6 function(函数)
2.7 userdata(自定义类型)和thread(线程)
第3章 表达式
3.1 算术操作符
3.2 关系操作符
3.3 逻辑操作符
3.4 字符串连接
3.5 优先级
3.6 table构造式(table constructor)
第4章 语句
4.1 赋值
4.2 局部变量与块(block)
4.3 控制结构
4.3.1 if then else
4.3.2 while
4.3.3 repeat
4.3.4 数字型for(numeric for)
4.3.5 泛型for(generic for)
4.4 break与return
第5章 函数
5.1 多重返回值(multiple results)
5.2 变长参数(variable number of arguments)
5.3 具名实参(named arguments)
第6章 深入函数
6.1 closure(闭合函数)
6.2 非全局的函数(non-global function)
6.3 正确的尾调用(proper tail call)
第7章 迭代器与泛型for
7.1 迭代器与closure
7.2 泛型for的语义
7.3 无状态的迭代器
7.4 具有复杂状态的迭代器
7.5 真正的迭代器
第8章 编译、执行与错误
8.1 编译
8.2 C代码
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 马尔可夫链(markov chain)算法
第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.4 table访问的元方法
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.1 require函数
15.2 编写模块的基本方法
15.3 使用环境
15.4 module函数
15.5 子模块与包
第16章 面向对象编程
16.1 类
16.2 继承
16.3 多重继承
16.4 私密性
16.5 单一方法(single-method)做法
第1……
第1章 开始
1.1 程序块(chunk)
1.2 词法规范
1.3 全局变量
1.4 解释器程序(the dtand-slone interpreter)
第2章 类型与值
2.1 nil(空)
2.2 boolean(布尔)
2.3 number(数字)
2.4 string(字符串)
2.5 table(表)
2.6 function(函数)
2.7 userdata(自定义类型)和thread(线程)
第3章 表达式
3.1 算术操作符
3.2 关系操作符
3.3 逻辑操作符
3.4 字符串连接
3.5 优先级
3.6 table构造式(table constructor)
第4章 语句
4.1 赋值
4.2 局部变量与块(block)
4.3 控制结构
4.3.1 if then else
4.3.2 while
4.3.3 repeat
4.3.4 数字型for(numeric for)
4.3.5 泛型for(generic for)
4.4 break与return
第5章 函数
5.1 多重返回值(multiple results)
5.2 变长参数(variable number of arguments)
5.3 具名实参(named arguments)
第6章 深入函数
6.1 closure(闭合函数)
6.2 非全局的函数(non-global function)
6.3 正确的尾调用(proper tail call)
第7章 迭代器与泛型for
7.1 迭代器与closure
7.2 泛型for的语义
7.3 无状态的迭代器
7.4 具有复杂状态的迭代器
7.5 真正的迭代器
第8章 编译、执行与错误
8.1 编译
8.2 C代码
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 马尔可夫链(markov chain)算法
第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.4 table访问的元方法
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.1 require函数
15.2 编写模块的基本方法
15.3 使用环境
15.4 module函数
15.5 子模块与包
第16章 面向对象编程
16.1 类
16.2 继承
16.3 多重继承
16.4 私密性
16.5 单一方法(single-method)做法
第1……
Programming in Lua
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×