只是选择Lua并试图弄清楚如何构建表.
我已经完成了搜索,并在table.insert上找到了信息,但我发现的所有示例似乎都假设我只想要数字索引,而我想要做的就是添加密钥对.
我已经完成了搜索,并在table.insert上找到了信息,但我发现的所有示例似乎都假设我只想要数字索引,而我想要做的就是添加密钥对.
所以,我想知道这是否有效?
my_table = {} my_table.insert(key = "Table Key",val = "Table Value")
这将在一个循环中完成,我需要能够在以后访问内容:
for k,v in pairs(my_table) do ... end
谢谢
解决方法
基本上有两种方法来创建表并用数据填充它们.
首先是使用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'