Lua程序设计(第4版).pdf

创建时间:2020-02-08 下载量:0 访问量:92 赞:0 踩:0
ISBN:9787121338045
简介:
本书由 Lua 语言作者亲自撰写,针对 Lua 语言本身由浅入深地从各个方面进行了完整和细致的讲解。
关注“工联信息网”回复“zQKRHV3Jb9”可领取!仅供学习使用,支持正版!
详细介绍

Lua程序设计(第4版).pdf

第 1 部分语言基础 1

1 Lua 语言入门 2

1.1 程序段     3

1.2 一些词法规范   5

1.3 全局变量   7

1.4 类型和值   7

1.4.1 nil    8

1.4.2 Boolean   8

1.5 独立解释器    10

1.6 练习   12

2 小插曲:八皇后问题 13

2.1 练习   15

3 数值 17

3.1 数值常量     17

3.2 算术运算     19

3.3 关系运算     21

3.4 数学库     21

3.4.1 随机数发生器  22

3.4.2 取整函数  22

3.5 表示范围     24

3.6 惯例   25

3.7 运算符优先级  26

3.8 兼容性     27

3.9 练习   28

4 字符串 30

4.1 字符串常量    31

4.2 长字符串/多行字符串  33

4.3 强制类型转换   34

4.4 字符串标准库   36

4.5 Unicode 编码   39

4.6 练习   41

5 表 43

5.1 表索引     44

5.2 表构造器    46

5.3 数组、列表和序列  48

5.4 遍历表     50

5.5 安全访问    52

5.6 表标准库    53

5.7 练习   54

6 函数 56

6.1 多返回值   58

6.2 可变长参数函数  61

6.3 函数 table.unpack  64

6.4 正确的尾调用   65

6.5 练习   66

 7 输入输出 68

7.1 简单 I/O 模型    68

7.2 完整 I/O 模型    72

7.3 其他文件操作   74

7.4 其他系统调用   75

7.4.1 运行系统命令  75

7.5 练习   77

8 补充知识 78

8.1 局部变量和代码块  78

8.2 控制结构    80

8.2.1 if then else  81

8.2.2 while   81

8.2.3 repeat    82

8.2.4 数值型 for  82

8.2.5 泛型 for   83

8.3 break、return 和 goto  84

8.4 练习   88

第 2 部分编程实操 90

9 闭包 91

9.1 函数是第一类值   92

9.2 非全局函数    94

9.3 词法定界     96

9.4 小试函数式编程 100

9.5 练习   103

 10 模式匹配 105

10.1 模式匹配的相关函数  105

10.1.1 函数 string.find  105

10.1.2 函数 string.match       106

10.1.3 函数 string.gsub  107

10.1.4 函数 string.gmatch       107

10.2 模式   108

10.3 捕获   112

10.4 替换   114

10.4.1 URL 编码  . 116

10.4.2 制表符展开  118

10.5 诀窍   119

10.6 练习   123

11 小插曲:出现频率最高的单词 124

11.1 练习   126

12 日期和时间 128

12.1 函数 os.time   129

12.2 函数 os.date   130

12.3 日期和时间处理   132

12.4 练习   134

13 位和字节 135

13.1 位运算     135

13.2 无符号整型数   136

13.3 打包和解包二进制数据   139

13.4 二进制文件    142

13.5 练习   144

 14 数据结构 145

14.1 数组   146

14.2 矩阵及多维数组  146

14.3 链表   149

14.4 队列及双端队列   150

14.5 反向表     151

14.6 集合与包     152

14.7 字符串缓冲区   154

14.8 图形   156

14.9 练习   158

15 数据文件和序列化 159

15.1 数据文件     160

15.2 序列化     162

15.2.1 保存不带循环的表  165

15.2.2 保存带有循环的表  167

15.3 练习   169

16 编译、执行和错误 171

16.1 编译   171

16.2 预编译的代码   175

16.3 错误   177

16.4 错误处理和异常   179

16.5 错误信息和栈回溯  180

16.6 练习   182

17 模块和包 184

17.1 函数 require    185

17.1.1 模块重命名  187

 17.1.2搜索路径  188

17.1.3 搜索器   190

17.2 Lua 语言中编写模块的基本方法     190

17.3 子模块和包    193

17.4 练习   194

第 3 部分语言特性 196

18 迭代器和泛型 for 197

18.1 迭代器和闭包   197

18.2 泛型 for 的语法   200

18.3 无状态迭代器   201

18.4 按顺序遍历表   203

18.5 迭代器的真实含义  205

18.6 练习   206

19 小插曲:马尔可夫链算法 208

19.1 练习   211

20 元表和元方法 212

20.1 算术运算相关的元方法   213

20.2 关系运算相关的元方法   216

20.3 库定义相关的元方法  217

20.4 表相关的元方法   219

20.4.1 __index 元方法   219

20.4.2 __newindex 元方法       220

20.4.3 具有默认值的表   221

20.4.4 跟踪对表的访问  . 222

20.4.5 只读的表  . 224

20.5 练习   225

 21 面向对象(Object-Oriented)编程 226

21.1 类(Class)    228

21.2 继承(Inheritance)  . 230

21.3 多重继承(MultipleInheritance)    232

21.4 私有性(Privacy)  235

21.5 单方法对象(Single-methodObject)   237

21.6 对偶表示(DualRepresentation)     238

21.7 练习   240

22 环境(Environment) 241

22.1 具有动态名称的全局变量  242

22.2 全局变量的声明   243

22.3 非全局环境    246

22.4 使用 _ENV     248

22.5 环境和模块    251

22.6 _ENV 和 load    252

22.7 练习   254

23 垃圾收集 255

23.1 弱引用表    . 255

23.2 记忆函数(MemorizeFunction)     257

23.3 对象属性(Object Attribute)       259

23.4 回顾具有默认值的表  260

23.5 瞬表(Ephemeron Table)  261

23.6 析构器(Finalizer) 262

23.7 垃圾收集器    266

23.8 控制垃圾收集的步长(Pace)    267

23.9 练习   268

 24 协程(Coroutine) 270

24.1 协程基础    . 270

24.2 哪个协程占据主循环  273

24.3 将协程用作迭代器  276

24.4 事件驱动式编程  .279

24.5 练习   284

25 反射(Reflection) 285

25.1 自省机制(IntrospectiveFacility)    286

25.1.1 访问局部变量  288

25.1.2 访问非局部变量 289

25.1.3 访问其他协程  291

25.2 钩子(Hook)   292

25.3 调优(Profile)   293

25.4 沙盒(Sandbox)  296

25.5 练习   300

26 小插曲:使用协程实现多线程 301

26.1 练习   306

第 4 部分 C 语言 API 307

27 C 语言 API 总览 308

27.1 第一个示例    309

27.2 栈   312

27.2.1 压入元素  313

27.2.2 查询元素  314

27.2.3 其他栈操作  317

27.3 使用 C API 进行错误处理  320

 27.3.1处理应用代码中的错误     320

27.3.2 处理库代码中的错误      321

27.4 内存分配    322

27.5 练习   324

28 扩展应用 325

28.1 基础知识    325

28.2 操作表     327

28.2.1 一些简便方法  331

28.3 调用 Lua 函数   333

28.4 一个通用的调用函数  334

28.5 练习   338

29 在 Lua 中调用 C 语言 339

29.1 C 函数      339

29.2 延续(Continuation)  342

29.3 C 模块      345

29.4 练习   347

30 编写 C 函数的技巧 349

30.1 数组操作    349

30.2 字符串操作    351

30.3 在 C 函数中保存状态  355

30.3.1 注册表   355

30.3.2 上值    358

30.3.3 共享的上值(Shared upvalue)    361

30.4 练习   362

 31 C语言中的用户自定义类型 363

31.1 用户数据(Userdata)  364

31.2 元表(Metatable)  367

31.3 面向对象访问   370

31.4 数组访问    372

31.5 轻量级用户数据  373

31.6 练习   375

32 管理资源 376

32.1 目录迭代器    376

32.2 XML 解析器   380

32.3 练习   390

33 线程和状态 392

33.1 多线程     392

33.2 Lua 状态    397

33.3 练习   406

如有需求您可以发送邮件致:need@glxxw2018.com。

如果认为资源侵犯了您的版权,您可以将相关著作权材料发送致邮箱:accusation@glxxw2018.com,管理员会在1个工作日内删除。

本站资源来源于互联网,如果您喜欢,请支持正版,谢谢!

关注“工联信息网”微信公众号回复“zQKRHV3Jb9”即可获取!
评论
 我想说:
==已经到底了==
工联信息网
如有问题请致邮箱:need@glxxw2018.com
不良信息反馈及建议请致邮箱:accusation@glxxw2018.com