我有一张表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"]
使它成为一个字符串吗?然而,这需要它作为文字,而不是变量?
如何将变量用作表索引/键
答案 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')