作为一本脚本语言,Lua 提供了自动内存管理机制,简化对内存资源的管理。Lua 还提供了协程机制,用于实现并发程序的编写。这篇文章将介绍 Lua 的垃圾收集以及协程机制。
《lua 程序设计》读书笔记(10):面向对象编程 & 环境
这篇文章将介绍如何在 Lua 中实现 面向对象编程
,这里会用到上一篇文章介绍的元表知识。之后则将深入介绍 Lua 的运行环境,我们将了解到 Lua 全局变量背后的原理。
《lua 程序设计》读书笔记(9):迭代器 & 元表
迭代器是一种可以让我们遍历一个集合中所有元素的代码结构,这篇文章将介绍 Lua 的迭代器机制,而泛型 for 正是为简化迭代器的使用而设计的。之后则将介绍 Lua 的元表,元表的功能非常强大,通过元表,可以实现其他编程语言中 运算符
重载的效果、或者实现面向对象编程的 继承
。
《lua 程序设计》读书笔记(8):编译、执行和错误 & 模块和包
虽然 Lua 被称为解释型语言,但是 Lua 总是在运行代码前先预先编译源码为中间代码。解释型语言的区分并不在于源码是否编译,而在于是否有能力执行动态生成的代码。正是由于dofile 这样的函数存在,才使得 Lua 能够被称为解释型语言。
这篇文章将介绍 Lua 的编译执行原理以及 Lua 的模块/包管理机制。
《lua 程序设计》读书笔记(7):数据结构 & 数据文件和序列化
这篇文章将介绍 Lua 中的数据结构,其实 Lua 只提供了 表
这唯一的数据结构,但是通过 表
可以实现数组、字典等数据结构。之后将介绍如何在 Lua 中实现数据结构的序列化和反序列化。
《lua 程序设计》读书笔记(6):日期时间 & 位和字节
这篇文章首先将介绍 Lua 标准库中操作日期时间相关的接口,之后则将介绍 Lua 中的的位/字节操作相关的 API。
《lua 程序设计》读书笔记(5):闭包 & 模式匹配
这篇文章将介绍 Lua 中的闭包,闭包特性使得我们可以在 Lua 中实现函数式编程。之后还将介绍 Lua 自己提供的模式匹配方法,这些模式匹配方法不同于一般的 Perl 正则表达式。
《lua 程序设计》读书笔记(4):输入输出 & 补充知识
由于 Lua 强调可移植性和嵌入型,所以 Lua 本身并没有提供太多与外部交互的机制。在真实的 Lua 程序中,从图形、数据库到网络访问等大多数 I/O 操作,要么由宿主程序实现,要么通过不包括在发行版中的外部库实现。Lua 本身只提供了 ISO C 语言标准库支持的功能,即基本的文件操作。
这篇文章介绍 Lua 中的 I/O 机制,同时补充一些 Lua 编程的基础知识。
《lua 程序设计》读书笔记(3):表 & 函数
Lua 表是 Lua 中最重要的数据结构(也是唯一的数据结构),Lua 的全局变量、模块组织等功能都与 Lua 表相关,Lua 表很好地体现了 Lua 精简的设计思路。任何一门编程语言都会提供函数,以实现代码的模块化、抽象化,而 Lua 也不例外。这篇文章将学习 Lua 中的表和函数。
《lua 程序设计》读书笔记(2):数值 & 字符串
在 Lua 5.2 及之前版本,所有数值都以双精度浮点格式表示。从 Lua 5.3 开始,Lua 语言为数值提供了两种选择:
- 被称为 integer 的 64 位整型
- 被称为 float 的双精度浮点类型
整型的引入是 Lua5.3 的一个重要标志。在精简 Lua 模式下(small lua),该模式使用 32 位整型和单精度浮点类型。
这篇文章将学习 Lua 的数值(number) 和字符串(string)类型。