Lua表寻址

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

代码:

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

输出了期望的结果:log text

但是

print(logTable["cdm"])

返回了空值。我哪里出错了?

编辑:

这实际上是我制作表的方法:

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

其中probeName是一个变量,我需要使用 ["probeName"] 使其成为字符串吗?但是这样将它视为文本而不是变量?

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

点赞
用户1283954
用户1283954

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

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

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

logTable["probeName"] = file.read('export/'..robotName..
                                  '/probes/'..probeGroup..'/'
                                  ..probeName..'/'..probeName..'.log')
2012-07-06 09:59:49