我想要做的只是打印表内的表内容。例如:
local stats = {
table1 = {
tTable1 =
{
data = 1
},
tTable2 =
{
data2 = 2
},
tTable3 =
{
data3 = 3
},
}
}
我并不真正关心 table1 或所有 tTable,而是关心数据变量中的信息。我怎样才能打印它们?
这是我的真实代码片段:
local stats = {
[1] = {
[1] = {
[1] = 1,
[2] = -1,
[3] = -1,
["n"] = 3,
},
[2] = {
[1] = nuclearcraft:cooler,
[2] = 10,
["n"] = 2,
},
["n"] = 2,
},
[2] = {
[1] = {
[1] = 2,
[2] = -1,
[3] = -1,
["n"] = 3,
},
[2] = {
[1] = nuclearcraft:cell_block,
[2] = 0,
["n"] = 2,
},
["n"] = 2,
},
[3] = {
[1] = {
[1] = 3,
[2] = -1,
[3] = -1,
["n"] = 3,
},
[2] = {
[1] = nuclearcraft:cooler,
[2] = 10,
["n"] = 2,
},
["n"] = 2,
},
}
这段代码实际上持续的时间比这要长一些。在实际代码中,除了标有“nuclearcraft”的区域及其下面的数字之外,我不关心任何数据。
最佳答案
递归表遍历适合这种情况:
local function TablePrint(t)
for k,v in pairs(t) do
if type(v)=="table" then
print(k)
TablePrint(v)
else
print('\t',k,v)
end
end
end
TablePrint(stats)
结果:
table1
tTable3
data3 3
tTable2
data2 2
tTable1
data 1
请记住,表中非索引值的顺序未定义
关于lua - 如何在表格内打印表格的内容? [路亚],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59515669/