Latest web development tutorials

Luaの配列

配列は1次元配列と多次元配列になります特定の順序でデータ要素の同じ型のコレクションです。

Luaの配列のインデックスキー値を整数として使用することができ、配列のサイズは固定されていません。


一次元配列

一次元アレイは、最も単純な、論理構造のアレイは直線状です。 一次元アレイは、以下の実施例、配列内のループ要素のために使用することができます。

array = {"Lua", "Tutorial"}

for i= 0, 2 do
   print(array[i])
end

出力は、上記のコードが実行されます。

nil
Lua
Tutorial

あなたが見ることができるようにあなたがnilを返されないインデックス値がない知っていれば、我々は、配列の要素にアクセスするには、整数のインデックスを使用することができます。

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

多次元配列

インデックスキーまたは配列に対応する1次元配列の配列を含む配列である多次元配列。

ここでは多次元配列内の3行3列の配列です。

-- 初始化数组
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

3つの配列、多次元配列の異なるインデックスキーの三行:

-- 初始化数组
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

あなたが見ることができるように、上記の例は、配列のインデックスは、指定された値に設定されているので、nilの値を避けるため、メモリ容量を節約するのに役立ちます。