我很快就调试了一些东西,并编写了以下函数:
function dumpTable(t) for i,v in pairs(t) do if type(v) == "table" then dumpTable(v) else print(i..":",v) end end end
现在,出于某种原因
dumpTable({[1]="hello??",[2]="two",{[132]="something",[3.2]="else"}})
132: something 3.2: else 2: two
注意第一个字符串是如何丢失的?但如果我改变它的钥匙..
dumpTable({["one"]="hello??",[3.2]="else"}})
它输出
132: something 3.2: else one: hello?? 2: two
这是如此不直观,我几乎觉得自己是个白痴,没有看到错误..