展开全部

主编推荐语

Lua:开源脚本语言,游戏嵌入式领域重要,学习编译原理参考。

内容简介

Lua语言是开源嵌入式脚本语言领域中独树一帜的一门语言,在包括游戏、嵌入式等领域具有不可替代的重要地位和极为广泛的应用,Lua也是学习编译原理、VM虚拟机等的重要参考和现实依据,Lua程序设计(第4版)结合作者多年的教学经验,更新到Lua5.3版本,让读者更好地吸收了该语言的特性。

目录

  • 版权信息
  • 内容简介
  • 推荐序一
  • 推荐序二
  • 译者序
  • 前言
  • 预期读者
  • 全书结构
  • 其他资源
  • 排版约定
  • 运行示例
  • 致谢
  • 读者服务
  • 第1部分 语言基础
  • 1 Lua语言入门
  • 1.1 程序段
  • 1.2 一些词法规范
  • 1.3 全局变量
  • 1.4 类型和值
  • 1.5 独立解释器
  • 1.6 练习
  • 2 小插曲:八皇后问题
  • 2.1 练习
  • 3 数值
  • 3.1 数值常量
  • 3.2 算术运算
  • 3.3 关系运算
  • 3.4 数学库
  • 3.5 表示范围
  • 3.6 惯例
  • 3.7 运算符优先级
  • 3.8 兼容性
  • 3.9 练习
  • 4 字符串
  • 4.1 字符串常量
  • 4.2 长字符串/多行字符串
  • 4.3 强制类型转换
  • 4.4 字符串标准库
  • 4.5 Unicode编码
  • 4.6 练习
  • 5 表
  • 5.1 表索引
  • 5.2 表构造器
  • 5.3 数组、列表和序列
  • 5.4 遍历表
  • 5.5 安全访问
  • 5.6 表标准库
  • 5.7 练习
  • 6 函数
  • 6.1 多返回值
  • 6.2 可变长参数函数
  • 6.3 函数table.unpack
  • 6.4 正确的尾调用
  • 6.5 练习
  • 7 输入输出
  • 7.1 简单I/O模型
  • 7.2 完整I/O模型
  • 7.3 其他文件操作
  • 7.4 其他系统调用
  • 7.5 练习
  • 8 补充知识
  • 8.1 局部变量和代码块
  • 8.2 控制结构
  • 8.3 break、return和goto
  • 8.4 练习
  • 第2部分 编程实操
  • 9 闭包
  • 9.1 函数是第一类值
  • 9.2 非全局函数
  • 9.3 词法定界
  • 9.4 小试函数式编程
  • 9.5 练习
  • 10 模式匹配
  • 10.1 模式匹配的相关函数
  • 10.2 模式
  • 10.3 捕获
  • 10.4 替换
  • 10.5 诀窍
  • 10.6 练习
  • 11 小插曲:出现频率最高的单词
  • 11.1 练习
  • 12 日期和时间
  • 12.1 函数os.time
  • 12.2 函数os.date
  • 12.3 日期和时间处理
  • 12.4 练习
  • 13 位和字节
  • 13.1 位运算
  • 13.2 无符号整型数
  • 13.3 打包和解包二进制数据
  • 13.4 二进制文件
  • 13.5 练习
  • 14 数据结构
  • 14.1 数组
  • 14.2 矩阵及多维数组
  • 14.3 链表
  • 14.4 队列及双端队列
  • 14.5 反向表
  • 14.6 集合与包
  • 14.7 字符串缓冲区
  • 14.8 图形
  • 14.9 练习
  • 15 数据文件和序列化
  • 15.1 数据文件
  • 15.2 序列化
  • 15.3 练习
  • 16 编译、执行和错误
  • 16.1 编译
  • 16.2 预编译的代码
  • 16.3 错误
  • 16.4 错误处理和异常
  • 16.5 错误信息和栈回溯
  • 16.6 练习
  • 17 模块和包
  • 17.1 函数require
  • 17.2 Lua语言中编写模块的基本方法
  • 17.3 子模块和包
  • 17.4 练习
  • 第3部分 语言特性
  • 18 迭代器和泛型for
  • 18.1 迭代器和闭包
  • 18.2 泛型for的语法
  • 18.3 无状态迭代器
  • 18.4 按顺序遍历表
  • 18.5 迭代器的真实含义
  • 18.6 练习
  • 19 小插曲:马尔可夫链算法
  • 19.1 练习
  • 20 元表和元方法
  • 20.1 算术运算相关的元方法
  • 20.2 关系运算相关的元方法
  • 20.3 库定义相关的元方法
  • 20.4 表相关的元方法
  • 20.5 练习
  • 21 面向对象(Object-Oriented)编程
  • 21.1 类(Class)
  • 21.2 继承(Inheritance)
  • 21.3 多重继承(Multiple Inheritance)
  • 21.4 私有性(Privacy)
  • 21.5 单方法对象(Single-method Object)
  • 21.6 对偶表示(Dual Representation)
  • 21.7 练习
  • 22 环境(Environment)
  • 22.1 具有动态名称的全局变量
  • 22.2 全局变量的声明
  • 22.3 非全局环境
  • 22.4 使用 ENV
  • 22.5 环境和模块
  • 22.6 ENV和load
  • 22.7 练习
  • 23 垃圾收集
  • 23.1 弱引用表
  • 23.2 记忆函数(Memorize Function)
  • 23.3 对象属性(Object Attribute)
  • 23.4 回顾具有默认值的表
  • 23.5 瞬表(Ephemeron Table)
  • 23.6 析构器(Finalizer)
  • 23.7 垃圾收集器
  • 23.8 控制垃圾收集的步长(Pace)
  • 23.9 练习
  • 24 协程(Coroutine)
  • 24.1 协程基础
  • 24.2 哪个协程占据主循环
  • 24.3 将协程用作迭代器
  • 24.4 事件驱动式编程
  • 24.5 练习
  • 25 反射(Reflection)
  • 25.1 自省机制(Introspective Facility)
  • 25.2 钩子(Hook)
  • 25.3 调优(Profile)
  • 25.4 沙盒(Sandbox)
  • 25.5 练习
  • 26 小插曲:使用协程实现多线程
  • 26.1 练习
  • 第4部分 C语言API
  • 27 C语言API总览
  • 27.1 第一个示例
  • 27.2 栈
  • 27.3 使用C API进行错误处理
  • 27.4 内存分配
  • 27.5 练习
  • 28 扩展应用
  • 28.1 基础知识
  • 28.2 操作表
  • 28.3 调用Lua函数
  • 28.4 一个通用的调用函数
  • 28.5 练习
  • 29 在Lua中调用C语言
  • 29.1 C函数
  • 29.2 延续(Continuation)
  • 29.3 C模块
  • 29.4 练习
  • 30 编写C函数的技巧
  • 30.1 数组操作
  • 30.2 字符串操作
  • 30.3 在C函数中保存状态
  • 30.4 练习
  • 31 C语言中的用户自定义类型
  • 31.1 用户数据(Userdata)
  • 31.2 元表(Metatable)
  • 31.3 面向对象访问
  • 31.4 数组访问
  • 31.5 轻量级用户数据
  • 31.6 练习
  • 32 管理资源
  • 32.1 目录迭代器
  • 32.2 XML解析器
  • 32.3 练习
  • 33 线程和状态
  • 33.1 多线程
  • 33.2 Lua状态
  • 33.3 练习
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。