将密钥对插入Lua表

只是挑选 Lua 并尝试思考如何构建表格。 我已经搜索并找到了有关 table.insert 的信息,但我找到的所有示例似乎都假定我只想要数字索引,而我想要做的是添加键值对。

那么,我想知道这是否有效?

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

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

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

谢谢

原文链接 https://stackoverflow.com/questions/7933703

点赞
stackoverflow用户891636
stackoverflow用户891636

似乎这应该是答案:

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

对我而言,这个方法可行。

2011-10-28 19:44:35
stackoverflow用户221509
stackoverflow用户221509

有两种基本方法可以创建并填充数据表格。

首先是使用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.:当然,您可以结合两种方法:使用table constructor创建一个表,然后使用[]运算符填充其余部分:

tab = { type = 'list' }
tab.key1 = 'value one'
tab['key2'] = 'value two'
2011-10-28 21:07:50