我有一个稀疏的 Lua 表需要遍历。问题是,似乎 Lua 从索引 1 开始迭代,并在找到 nil 值后立即终止迭代。以下是一个示例:
> tab={}
> tab[2]='b'
> tab[5]='e'
> for i,v in ipairs(tab) do print(i,v) end
> --nothing is output here
> tab[1]='a'
> for i,v in ipairs(tab) do print(i,v) end
1 a
2 b
> --terminates after 2 (first nil value is tab[3])
有没有办法获得期望的输出:
1 a
2 b
5 e