Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Lua中将索引表转换为键控表_Lua_Lua Table - Fatal编程技术网

在Lua中将索引表转换为键控表

在Lua中将索引表转换为键控表,lua,lua-table,Lua,Lua Table,我是Lua的新手 我想知道如何将索引表转换为基于键的表 例如,假设我有下表 t = {5, 6, 7, 8} 现在,我知道t[1]是5,t[2]是6,t[3]是7,t[4]是8 如何将表t转换为以下基于键的样式?(无需重新构造表) 要做到这一点,最简单、最高效的解决方案是什么?请尝试以下代码: 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 i

我是Lua的新手

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

例如,假设我有下表

t = {5, 6, 7, 8}
现在,我知道
t[1]
是5,
t[2]
是6,
t[3]
是7,
t[4]
是8

如何将表
t
转换为以下基于键的样式?(无需重新构造表)

要做到这一点,最简单、最高效的解决方案是什么?

请尝试以下代码:

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
请尝试以下代码:

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
“基于键的样式”:当然不是你的意思,但是(指出没有键的表是空表),具有相同键值对的表以不同的样式编写:
t={[1]=5、[2]=6、[3]=7、[4]=8}
“基于键的样式”:当然不是你的意思,但是(指出没有键的表是空表),具有相同键值对且以不同样式编写的表:
t={[1]=5、[2]=6、[3]=7、[4]=8}