重新排列下面哈希中的键值,如下所示:
{"abc"=>"wqeq","dfg"=>"sadsada","qwe"=>"asdad","yui"=>"asdasd","abc"=>"weqqw","qwe"=>"assadsad","yui"=>"asd","dfg"=>"asdsad"}
{"abc"=>["wqeq","weqqw"] ...}
由于
答案 0 :(得分:1)
这里的问题是指定一个与前一个键值相同的键会覆盖它。
据我所知,没有基于代码的解决方案来解决这个问题;你只需要用数组重新编写它作为键'他们重复的价值观。
{"abc" => ["wqeq", "weqqw"],
"dfg" => ["sadsada", "asdsad"],
"qwe" => ["asdad", "assadsad"],
"yui" => ["asdasd", "asd"] }
我想这就是您正在寻找的输出。如果没有,请在问题中添加更多信息,我/其他人也可以提供帮助。
如果你想拿枪开刀,你可以使用compare_by_identity
:
hash = {}
hash.compare_by_identity
hash["abc"] = "wqeq"
hash["abc".dup] = "weqqw"
# ... etc ...
puts hash # => { "abc" => "wqeq", "abc" => "weqqw" }
...然后处理它。虽然感觉有点脏。