わかりましたので、かなり大きなテーブルをすばやく生成したいと考えています。次のようになります。
table{
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1},
}
テーブルだけがはるかに多くの行を含み、それらの行にははるかに多くの値が含まれます。table.insert() を使用して、1 つの行に必要な数を簡単に追加できることは知っていますが、すべてを入力せずに新しい行全体を追加することもできますか?
for
ループを使用します。
t = { }
for i = 1,100 do
table.insert(t, i) -- insert numbers from 1 to 100 into t
end
2D配列も非常に単純です
t = { }
for row = 1,20 do
table.insert(t, { }) -- insert new row
for column = 1,20 do
table.insert(t[row], "your value here")
end
end
のように現在の行を覚えておくこともできますがlocal current_row = t[row]
、プロファイルを作成するまでは、パフォーマンスを改善するためにこれらのことを試みないでください。目的をより明確に表していると思われる場合は、単に読みやすくするために使用してください。
#
また、存在しないインデックスに値を直接割り当てることができ、それらが追加されることにも注意してください (特に 5.1 以降ではファンキーです)。
使用する必要はありませんtable.insert
:
t = {}
for row = 1,20 do
t[row] = {}
for column = 1,20 do
t[row][column]= "your value here"
end
end