Lua массив
Массив представляет собой набор того же типа элементов данных в определенном порядке, который может быть одномерные массивы и многомерные массивы.
значения индекса ключа массив Lua может быть использован в виде целого числа, то размер массива не фиксируется.
Одномерный массив
Одномерный массив представляет собой массив из самых простых, логическая структура представляет собой линейную форму. Одномерный массив может использоваться для элементов цикла в массиве, следующие примеры:
array = {"Lua", "Tutorial"} for i= 0, 2 do print(array[i]) end
Выход выше код выполняется:
nil Lua Tutorial
Как вы можете видеть, мы можем использовать целочисленный индекс для доступа к элементам массива, если вы знаете, нет значение индекса возвращается ноль.
В Lua значения индекса 1 старт, но вы можете также указать 0.
Кроме того, мы также может быть отрицательное значение индекса массива:
array = {} for i= -2, 2 do array[i] = i *2 end for i = -2,2 do print(array[i]) end
Выход выше код выполняется:
-4 -2 0 2 4
Многомерные Массивы
Многомерный массив, который представляет собой массив, который содержит массив ключа индекса или одномерный массив, соответствующий массив.
Вот это массив из трех строк и трех столбцов в многомерном массиве:
-- 初始化数组 array = {} for i=1,3 do array[i] = {} for j=1,3 do array[i][j] = i*j end end -- 访问数组 for i=1,3 do for j=1,3 do print(array[i][j]) end end
Выход выше код выполняется:
1 2 3 2 4 6 3 6 9
Три ряда трех массивов и многомерные массивы различных ключей индекса:
-- 初始化数组 array = {} maxRows = 3 maxColumns = 3 for row=1,maxRows do for col=1,maxColumns do array[row*maxColumns +col] = row*col end end -- 访问数组 for row=1,maxRows do for col=1,maxColumns do print(array[row*maxColumns +col]) end end
Выход выше код выполняется:
1 2 3 2 4 6 3 6 9
Как вы можете видеть, приведенные выше примеры, индекс массива устанавливается на заданное значение, так что можно избежать нулевой стоимости, поможет сэкономить пространство памяти.