在Lua

时间:2018-07-10 13:11:15

标签: lua lua-table

我是Lua的新手。

我想知道如何将索引表转换为基于键的表。

例如,假设我有下表。

t = {5, 6, 7, 8}

现在,我知道t[1]是5,t[2]是6,t[3]是7,而t[4]是8。

我应该怎么做才能将表t转换为以下基于键的样式? (无需再次重建表格)

t = {x=5, y=6, z=7, w=8}

最简单,最高效的解决方案是什么?

1 个答案:

答案 0 :(得分:4)

尝试以下代码:

t = {5, 6, 7, 8}
f = {"x", "y", "z", "w"}

for k=1,#t do
    t[f[k]]=t[k]
    t[k]=nil
end

for k,v in pairs(t) do
    print(k,v)
end