将密钥对插入Lua表

Day*_*ayo 8 lua

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

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

    my_table = {}
    my_table.insert(key = "Table Key", val = "Table Value")
Run Code Online (Sandbox Code Playgroud)

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

    for k, v in pairs(my_table) do
        ...
    end
Run Code Online (Sandbox Code Playgroud)

谢谢

Mic*_*man 25

基本上有两种方法来创建表并用数据填充它们.

首先是使用表构造函数立即创建和填充.这样做如下:

tab = {
    keyone = "first value",      -- this will be available as tab.keyone or tab["keyone"]
    ["keytwo"] = "second value", -- this uses the full syntax
}
Run Code Online (Sandbox Code Playgroud)

如果您事先不知道所需的值,可以先{}使用[]运算符创建表,然后使用运算符填充它:

tab = {}
tab["somekey"] = "some value" -- these two lines ...
tab.somekey = "some value"    -- ... are equivalent
Run Code Online (Sandbox Code Playgroud)

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

PS:当然你可以结合两种方式:用表构造函数创建一个表,然后使用[]运算符填充其余的:

tab = { type = 'list' }
tab.key1 = 'value one'
tab['key2'] = 'value two'
Run Code Online (Sandbox Code Playgroud)


Day*_*ayo 7

看来这应该是答案:

my_table = {}
Key = "Table Key"
-- my_table.Key = "Table Value"
my_table[Key] = "Table Value"
Run Code Online (Sandbox Code Playgroud)

为我做了这份工作。

  • 当我试图理解一门新语言时,无论谁投票否决我,都非常好。这又近了一步,后来我发现“my_table[Key]”是有效的。 (4认同)