Lua程序设计

Lua程序设计 pdf epub mobi txt 电子书 下载 2025

出版者:电子工业出版社
作者:罗伯拖·鲁萨利姆斯奇 (Roberto Ierusalimschy)
出品人:
页数:432
译者:梅隆魁
出版时间:2018-7-1
价格:CNY 89.00
装帧:平装
isbn号码:9787121338045
丛书系列:
图书标签:
  • Lua
  • 脚本
  • 程序设计
  • 编程
  • 计算机
  • lua
  • 计算科学
  • 游戏开发
  • Lua程序设计
  • 编程语言
  • 脚本语言
  • 计算机编程
  • 软件开发
  • 程序设计
  • 编程入门
  • 语言学习
  • 算法设计
  • 开发工具
想要找书就要到 小美书屋
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《Lua程序设计(第4版)》由Lua 语言作者亲自撰写,针对Lua 语言本身由浅入深地从各个方面进行了完整和细致的讲解。作为第4 版,《Lua程序设计(第4版)》主要针对的是Lua 5.3,这是《Lua程序设计(第4版)》撰写时Lua 语言的最新版本。作者从语言使用者的角度出发,讲解了语言基础、编程实操、高级特性及C 语言API 等四个方面的内容,既有Lua 语言基本数据类型、输入输出、控制结构等基础知识,也有对模块、闭包、元表、协程、延续、反射、环境、垃圾回收、函数式编程、面向对象编程、C 语言API 等高级特性的系统讲解,还有对Lua 5.3 中引入的整型、位运算、瞬表、延续等新功能的细致说明。

所有与Lua 语言打交道的人均能从《Lua程序设计(第4版)》受益,包括游戏、嵌入式、物联网、软件安全、逆向工程、移动互联网、C 语言核心系统开发等诸多领域中对Lua 语言有一般使用需要的从业人员,以及需要从编译原理或语言设计哲学和实现角度深入学习Lua 语言脚本引擎的高级开发者或研究人员。

作者简介

目录信息

第 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 多重继承(Multiple Inheritance) 232
21.4 私有性(Privacy) 235
21.5 单方法对象(Single-method Object) 237
21.6 对偶表示(Dual Representation) 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 记忆函数(Memorize Function) 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 自省机制(Introspective Facility) 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
· · · · · · (收起)

读后感

评分

lua 的table 和nil我很喜欢、很方便。数据结构table足以。特别是让非程序员(如策划)做配置的时候。  

评分

花了一天的时间把全书浏览了一遍,对于之前完全没有接触过Lua的童鞋来说是很好的入门书籍。 看的是luachina翻译的245页中文版,总共是四篇29章+1章附录,建议多花点时间在第一篇(0-10章)的基本介绍上就好了,如果需要用到与C/C++的交互可以再看看第四篇的对应内容,至于...  

评分

翻译的非常好啊,作者将中国的计算机技术又向前推进了一步。 Lua 是一门小而精的嵌入式语言,一个完整的 Lua 解释器不过 200KB,与 Python、Perl 之类的脚本语言相比,Lua 先天的更加适合嵌入式应用场景。无论是嵌入式实时操作系统还是嵌入式 Linux,无论是路由器等典型的传统...  

评分

一星给原作:好书,问题不多。 译作太糟糕,翻译、语法错误太多就不多说了,代码问题也不多说,竟然有几处认知错误,糟蹋好书不如去吃屎;举几个例子: P130 L-16:若误改了一个全局变量也没什么 -> 不存在误改全局变量的风险 P216 L15:如果发生内存分配错误,其他大多数函...  

评分

这本书我看着有点头大,只讲了语言的特性,但是没有练习。对于没有Lua编程经验的人看。会有些不知所云。其实这个语言的特性还是比较多的。虽然语法比较简洁但是并不是很好使用。有些语法过于繁杂如细节较多接口不够简洁。特性较多既可以写函数式的也可一些命令式的。还有OO机制...  

用户评价

评分

作者我认识,翻译的真心认真,力鼎

评分

高度一致的设计在精心构建的系统里是能做到高度灵活的,函数是第一类值、用闭包实现生成器、用原表实现类和继承、用本地变量实现全局变量,全书尽是奇思妙想,无愧是Lua语言作者的亲笔之作,难得的好书。

评分

高度一致的设计在精心构建的系统里是能做到高度灵活的,函数是第一类值、用闭包实现生成器、用原表实现类和继承、用本地变量实现全局变量,全书尽是奇思妙想,无愧是Lua语言作者的亲笔之作,难得的好书。

评分

个人觉得知识点太碎了,翻译的一般

评分

高度一致的设计在精心构建的系统里是能做到高度灵活的,函数是第一类值、用闭包实现生成器、用原表实现类和继承、用本地变量实现全局变量,全书尽是奇思妙想,无愧是Lua语言作者的亲笔之作,难得的好书。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美书屋 版权所有