テーブルは、変数の一種です。複数の変数の配列で、主に連続したデータを処理する場合に活用できるでしょう。 初期化は、前述した変数のセクションと同様ですが、代入する内容が異なります。 テーブルは、{}
をイコールの後に入れて初期化します。 つまり、テーブル={}
となります。実際に変数の値を入れるときは、{}
の中に記述します。 値は、普通の変数とほぼ変わりません。2つ以上同じく並ぶ場合は、コンマで区切ります。
また、最初に示したコード内では、以下のようにテーブルを初期化しています。
{}
の中に、{}
がありますね。テーブルは、またテーブルそのものを入れることができます。 これも、{}
が2つ以上同じく並ぶ場合は、コンマで区切ります。 そして、テーブルを入れる階層(次元とも言う)は、恐らくメモリが許す限り制限はないと思われます。
a={ -- 1階層
{1, 2, 3}, -- 2階層
{"a", -- 2階層
{1, 2, 3}, -- 3階層
{4, 5, 6, -- 3階層
{"b", "c", "d"} -- 4階層
},
{7, 8, 9} -- 3階層
}
}
テーブルの値を取り出すには、位置を把握する必要があります。その位置を表すには、番号を使うのが手っ取り早いです。 Luaでは、番号が0からではなく、1から始まります。番号は、[]
で囲むので、テーブル[1]
となります。 以下のように、値を取り出します。
そして、多次元のテーブルの値を取り出すには、目的の位置まで階層を辿るように、順に番号をテーブル[1][1][1]...
と記述します。
また、数値の番号以外に文字列で表すことができます。 文字列の場合は、テーブル['Name']
及びテーブル["Name"]
、もしくはテーブル.Name
と記述します。