选择Lua并试图弄清楚如何构建表格。 我已经完成了搜索并在table.insert上找到了信息,但我发现的所有示例似乎都假设我只想要数字索引,而我想要做的就是添加密钥对。
所以,我想知道这是否有效?
my_table = {}
my_table.insert(key = "Table Key", val = "Table Value")
这将在一个循环中完成,我需要能够在以后访问内容:
for k, v in pairs(my_table) do
...
end
由于
答案 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"
这份工作对我而言。