我是 lua 新手,我有一个表foo
,我想将其转换为bar
如下所示:</p>
foo:{key1,value2,key2,value2} ==> bar:{key1=value1,key2=value2}
lua 有内置方法吗?
根据您最近的评论,试试这个:
local bar, iMax = {}, #foo
for i = 1, iMax, 2 do
bar[foo[i]] = foo[i + 1]
end
这是使用迭代器的一种解决方案:
function two(t)
local i = -1
return function() i = i + 2; return t[i], t[i + 1] end
end
然后你可以像这样使用迭代器:
local bar = {}
for k, v in two(foo) do
bar[k] = v
end
请注意,它应该是bar = {[key1]=value1, [key2]=value2}
. 在您的示例中,{key1=value1,key2=value2}
是字符串键的语法糖。