将密钥对插入Lua表

时间:2011-10-28 19:09:10

标签: lua

选择Lua并试图弄清楚如何构建表格。 我已经完成了搜索并在table.insert上找到了信息,但我发现的所有示例似乎都假设我只想要数字索引,而我想要做的就是添加密钥对。

所以,我想知道这是否有效?

    my_table = {}
    my_table.insert(key = "Table Key", val = "Table Value")

这将在一个循环中完成,我需要能够在以后访问内容:

    for k, v in pairs(my_table) do
        ...
    end

由于

2 个答案:

答案 0 :(得分:25)

基本上有两种方法可以创建表并用数据填充它们。

首先,使用table constructor一次创建并填充表格。这样做如下:

tab = {
    keyone = "first value",      -- this will be available as tab.keyone or tab["keyone"]
    ["keytwo"] = "second value", -- this uses the full syntax
}

如果您事先不知道自己想要的值,可以先使用{}创建表格,然后使用[]运算符填充表格:

tab = {}
tab["somekey"] = "some value" -- these two lines ...
tab.somekey = "some value"    -- ... are equivalent

请注意,只有当密钥是符合“标识符”规则的字符串时,才能使用第二个(点)语法糖 - 即以字母或下划线开头,并且只包含字母,数字和下划线。

P.S.:当然,您可以将两种方式结合起来:使用表构造函数创建表,然后使用[]运算符填充其余部分:

tab = { type = 'list' }
tab.key1 = 'value one'
tab['key2'] = 'value two'

答案 1 :(得分:1)

看来这应该是答案:

my_table = {}
Key = "Table Key"
-- my_table.Key = "Table Value"
my_table[Key] = "Table Value"

这份工作对我而言。