4

わかりましたので、かなり大きなテーブルをすばやく生成したいと考えています。次のようになります。

table{
{1, 1, 1, 1},
{1, 1, 1, 1},
{1, 1, 1, 1},
}

テーブルだけがはるかに多くの行を含み、それらの行にははるかに多くの値が含まれます。table.insert() を使用して、1 つの行に必要な数を簡単に追加できることは知っていますが、すべてを入力せずに新しい行全体を追加することもできますか?

4

2 に答える 2

4

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 以降ではファンキーです)。

于 2013-02-26T09:25:31.250 に答える
3

使用する必要はありませんtable.insert:

t = {}
for row = 1,20 do
    t[row] = {}
    for column = 1,20 do
        t[row][column]= "your value here"
    end
end
于 2013-02-26T10:59:31.850 に答える