2013-02-26 74 views
4

好的,所以我期待快速生成一個相當大的表。東西會看起來像這樣:Lua:添加多行到表

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

只有表將包含在這些行更行,更值。我知道使用table.insert()我可以很容易地添加很多我需要一個單一的行,但無論如何,我也可以添加整個新行,而無需全部輸入?

+0

一個http://stackoverflow.com/questions/13214926/lua-insert-multiple-variables-into-不-相當-A-重複一張桌子 – 2013-02-26 09:33:32

回答

4

使用for循環。

t = { } 
for i = 1,100 do 
    table.insert(t, i) -- insert numbers from 1 to 100 into t 
end 

二維數組也很簡單

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和更新的#中特別時髦),您可以直接將值分配給不存在的索引,並且它們將被添加。

3

你並不需要使用table.insert

t = {} 
for row = 1,20 do 
    t[row] = {} 
    for column = 1,20 do 
     t[row][column]= "your value here" 
    end 
end