当前位置:当前位置:主页 > 计算机电子书 > 程序设计 > Lua pdf电子书
Lua程序设计

Lua程序设计 PDF 完整第4版

  • 更新:2019-10-21
  • 大小:215.3 MB
  • 类别:Lua
  • 作者:罗伯拖?鲁萨利姆斯奇
  • 出版:电子工业出版社
  • 格式:PDF

  • 资源介绍
  • 学习心得
  • 相关内容

Lua程序设计》是由电子工业出版社出版的一本关于Lua方面的书籍,作者是罗伯拖?鲁萨利姆斯奇,主要介绍了关于Lua、程序设计方面的知识内容,目前在Lua类书籍综合评分为:8.6分。

书籍介绍

Lua程序设计 第四版 PDF

这书由Lua語言创作者亲身编写,对于Lua語言自身 循序渐进地从各个领域开展了详细和细腻的解读。全部与Lua語言相处的平均能从这书获益。这书由 Lua 語言创作者亲身编写,对于 Lua 語言自身 循序渐进地从各个领域开展了详细和细腻的解读。做为第 4 版,这书关键对于的是 Lua 5.3,它是这书编写时 Lua 語言的*版本号。创作者从語言使用人的视角来看,解读了語言基本、程序编写实际操作、高級特点及 C 語言 API 等四个方面的內容,具有 Lua 語言基本数据类型、I/O、控制结构等基本知识,也是对控制模块、闭包、元表、协程、持续、反射面、自然环境、垃圾分类回收、函数式编程、面向对象编程、C 語言 API 等高級特点的系统软件解读,也有对 Lua 5.3 中导入的整形、位运算、瞬表、持续等新作用的细腻表明。

目录

  • 第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

资源获取

网友留言