Lua,表格:合并重复键的值并删除重复项

最近我开始很多地玩 lua,但我真的想不出来这个问题的解决方法。

假设我有一个长这样的字符串:

s = "a=x a=y b=z a=x"

我想要移除所有重复的并将重复的键的值合并到一个表中,使得我可以得到:

t = {
a = {x,y},
b = {z},
}

我已经思考了太长时间。希望可以得到帮助!

点赞
用户107090
用户107090

试试这个:

s="a=x a=y b=z a=x"

s=s.." "
t={}
for k,v in s:gmatch("(.-)=(.-)%s+") do
        if t[k]==nil then t[k]={} end
        t[k][v]=true
end

for k,v in pairs(t) do
        for z in pairs(v) do print(k,z) end
end
2013-04-29 12:40:23