第一版是针对 Lua 5.0 编写的。虽然对于后续版本来说仍然非常重要,但有一些区别。
第四版针对 Lua 5.3,可在 Amazon 和其他书店购买。
购买本书,您还将帮助支持 Lua 项目


11 – 数据结构

Lua 中的表不是一种数据结构;它们是数据结构。其他语言提供的数组、记录、列表、队列、集合等所有结构都用 Lua 中的表表示。更确切地说,表高效地实现了所有这些结构。

在 C 和 Pascal 等传统语言中,我们使用数组和列表(其中列表 = 记录 + 指针)来实现大多数数据结构。虽然我们可以使用 Lua 表来实现数组和列表(有时我们确实这样做),但表比数组和列表更强大;许多算法使用表简化到微不足道的程度。例如,您很少在 Lua 中编写搜索,因为表提供对任何类型的直接访问。

学习如何高效地使用表需要一段时间。在这里,我们将展示如何使用表实现典型的数据结构,并提供一些使用示例。我们将从数组和列表开始,不是因为我们需要它们来实现其他结构,而是因为大多数程序员已经熟悉它们。我们已经在有关该语言的章节中看到了该材料的基础知识,但我将在此处重复它以使其完整。