0

我希望密钥对是 tableToPopulate.width = 30 和 tableToPopulate.Height = 20 它们目前是 tableToPopulate[1] = 30 和 tableToPopulate[2] = 20


local function X ()
    code, code...
    return 30,20
end

local tableToPopulate = {
    x()
}
4

2 回答 2

4

你为什么不直接返回一张桌子?

local function X ()
    return {width=30, height=20}
end
于 2013-04-12T18:53:25.510 回答
1

您可以传入要设置值的表,如下所示:

function x(tbl)
    tbl.Height = 20; 
    tbl.Width = 30;
end

local t={}
x(t)
print(t.Height, t.Width)

尽管根据表中任何内容的结构的复杂程度,使用嵌套表可能更有意义。

function x(tbl)
    table.insert(tbl, {Height = 20, Width = 30})
end

local t={}
x(t)
print(t[1].Height, t[1].Width)

这相当于:

function x()
    return {Height = 20, Width = 30}
end
local t = {x()}
print(t[1].Height, t[1].Width)

所以实际上,这取决于您希望如何对数据进行分组以及您喜欢哪种语法。

于 2013-04-12T20:32:47.613 回答