如何快速初始化的关联表在Lua?
-
21-08-2019 - |
题
在Lua中,可以创建一个表的方式如下:
local t = { 1, 2, 3, 4, 5 }
不过,我想创建一个关联表,我必须这样做,通过以下方式:
local t = {}
t['foo'] = 1
t['bar'] = 2
下面给出一个错误:
local t = { 'foo' = 1, 'bar' = 2 }
有没有办法做到这一点类似于我的第一个代码段?
解决方案
写这个正确的方法是任
local t = { foo = 1, bar = 2}
或者,如果您的表中的键不是合法的标识符:
local t = { ["one key"] = 1, ["another key"] = 2}
其他提示
我相信的它工作好一点的和可以理解,如果你看它像这样
local tablename = {["key"]="value",
["key1"]="value",
...}
查找结果与:的 tablename.key =值强>
表作为字典
表也可以用来存储未编入索引信息 数值,或顺序,与阵列。这些存储类型 有时也被称为字典,关联数组,哈希,或映射 类型。我们将使用术语词典其中元素对具有关键 和值。关键是用于设置并检索相关的值 用它。需要注意的是,就像数组,我们可以使用表[关键] =价值 格式插入元件到表中。关键不一定是一个数字, 它可以是一个字符串,或对于这个问题,几乎所有的其他的Lua对象 (除零或0/0)。让我们建立一个表的一些键值 对在它:
T = {苹果= “绿色”,橙= “橙”,香蕉= “黄色”} 为K,V在对(t)的做打印(K,V)端苹果绿桔桔黄色香蕉
要初始化,其具有由字符串值,应使用
的字符串相匹配的键关联数组local petFamilies = {["Bat"]="Cunning",["Bear"]="Tenacity"};
但<强>不强>
local petFamilies = {["Bat"]=["Cunning"],["Bear"]=["Tenacity"]};
不隶属于 StackOverflow