【发布时间】:2013-04-23 02:52:39
【问题描述】:
我最近开始在 lua 上摆弄很多东西,但我一辈子都想不通。
假设我有一个如下所示的字符串:
s = "a=x a=y b=z a=x"
我想删除所有重复项并将重复键的值合并到一个表中,这样我得到:
t = {
a = {x,y},
b = {z},
}
我一直在思考这个问题太久了。任何帮助表示赞赏!
【问题讨论】:
我最近开始在 lua 上摆弄很多东西,但我一辈子都想不通。
假设我有一个如下所示的字符串:
s = "a=x a=y b=z a=x"
我想删除所有重复项并将重复键的值合并到一个表中,这样我得到:
t = {
a = {x,y},
b = {z},
}
我一直在思考这个问题太久了。任何帮助表示赞赏!
【问题讨论】:
试试这个:
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
【讨论】:
print(t.a[1]) 不起作用。
for z in pairs(v) do print(k,z) end 所做的。