如何从Lua中的表中获取数据

时间:2014-01-20 05:26:28

标签: arrays lua lua-table metatable

我有一张桌子:

Table = {
    button = {},
    window = {},
    label = {},
    edit = {},
    error = {}
}

如何获取表的键和值?

我试图得到:

for key, value in ipairs(Table) do
    for k, v in ipairs(key) do
       print(k, v)
    end
end

但它不起作用。

1 个答案:

答案 0 :(得分:4)

ipairs用于序列(即类似数组的表)。但是代码中的Table不是序列,而是需要使用pairs

另一个问题是,在Table中,键是字符串("button""window"等)。那是因为在表构造函数中,button = {}等同于["button"] = {}

您需要迭代表(现在为空)表的值。

for key, value in pairs(Table) do
    for k, v in pairs(value) do
       print(k, v)
    end
end