0

我有一张桌子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"]把它变成一个字符串?但是,这将其视为文字而不是变量?

如何使用变量作为表索引/键

4

1 回答 1

1

您实际上在此处的表有一个表,因此您的表如下所示:

{
    { 
      ["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-06T09:59:49.813 回答