如何制作Lua函数返回键,与尚未填充的表配对?

时间:2013-04-12 18:43:41

标签: lua indexing lua-table

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


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

local tableToPopulate = {
    x()
}

2 个答案:

答案 0 :(得分:4)

你为什么不回表?

local function X ()
    return {width=30, height=20}
end

答案 1 :(得分: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)

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