第一版是为 Lua 5.0 编写的。虽然在很大程度上仍然适用于后续版本,但有一些差异。
第四版针对 Lua 5.3,可在 亚马逊 和其他书店购买。
购买本书,您还将帮助 支持 Lua 项目


11.1 – 数组

我们在 Lua 中通过用整数索引表来实现数组。因此,数组没有固定大小,而是根据需要增长。通常,当我们初始化数组时,我们间接定义其大小。例如,在以下代码之后

    a = {}    -- new array
    for i=1, 1000 do
      a[i] = 0
    end
任何尝试访问 1-1000 范围之外的字段都会返回 nil,而不是零。

您可以从索引 0、1 或任何其他值开始数组

    -- creates an array with indices from -5 to 5
    a = {}
    for i=-5, 5 do
      a[i] = 0
    end
但是,在 Lua 中习惯从索引 1 开始数组。Lua 库遵循此约定;因此,如果您的数组也从 1 开始,您将能够直接使用它们的函数。

我们可以使用构造函数在单个表达式中创建和初始化数组

    squares = {1, 4, 9, 16, 25, 36, 49, 64, 81}
此类构造函数可以根据需要任意大(最多几百万个元素)。