在lua中通过整数下标访问table中元素,即是数组。并且数组大小不固定,可动态增长。
通常我们初始化数组时,就间接地定义了数组的大小,例如:
a = {} -- new array for i=1, 1000 do a[i] = 0 end
数组a的大小为1000,访问1-1000范围外的值,将返回nil。数组下标可以根据需要,从任意值开始,比如:
-- 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}
这样的语句中,数组的大小可以任意的大。