在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)端苹果绿桔桔黄色香蕉

  

自: http://lua-users.org/wiki/TablesTutorial

要初始化,其具有由字符串值,应使用

的字符串相匹配的键关联数组
local petFamilies = {["Bat"]="Cunning",["Bear"]="Tenacity"};

但<强>不

local petFamilies = {["Bat"]=["Cunning"],["Bear"]=["Tenacity"]};
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top