house = {
["Street 22"] = {
{name = "George", age = 20},
{name = "Pete", age = 25}
},
["Street 30"] = {
{name = "John", age = 32},
}
}
我想按照它们的确切顺序打印房屋桌子的钥匙/街道。如果我使用:
for i, v in pairs(house) do
print(i)
end
要打印它们,但顺序似乎有点随机......如何按顺序打印它们?
答案 0 :(得分:2)
答案 1 :(得分:1)
正如我已经说过的那样,你将无法仅使用表格的关联地图部分来做到这一点。但是如果使用表的数组索引部分维护插入顺序,则可以执行此操作。例如
table.insert(house, "Street 22")
local street = house[#house]
house[street] = { {name = "George", age = 20},
{name = "Pete", age = 25} }
table.insert(house, "Street 30")
street = house[#house]
house[street] = { {name = "John", age = 32} }
然后您可以使用ipairs
for _, v in ipairs(house) do
print(v)
end