lua表寻址

时间:2012-07-06 09:10:31

标签: lua

我有一张表logTable = {["cdm"] = "log text", ["data_engine"] = "log text"}

代码:

for k,v in pairs(logTable) do
    print(v["cdm"]) end

给出了所需的结果:日志文本

然而

print(logTable["cdm"])

什么都不返回。我在这里做错了什么?

编辑:

所以这就是我制作表格的方式:

table.insert(logTable, { [probeName] = file.read('export/'..robotName..'/probes/'..probeGroup..'/'..probeName..'/'..probeName..'.log')})    

如果probeName是一个变量,那么我需要["probeName"]使它成为一个字符串吗?然而,这需要它作为文字,而不是变量?

如何将变量用作表索引/键

1 个答案:

答案 0 :(得分:1)

这里你实际上有一个表,所以你的表看起来像这样:

{
    { 
      ["cdm"] = "log text",
      ["data engine"] = "log text"
    }
}

这就是为什么你的print(logTable["cdm"])不起作用的原因。 table.insert也适用于数字索引表;这一次,字典语法更清晰:

logTable["probeName"] = file.read('export/'..robotName..
                                  '/probes/'..probeGroup..'/'
                                  ..probeName..'/'..probeName..'.log')