很想知道在 ruby 中执行此操作的最佳方法。我已经做到了,但认为我没有做得最好
我有一个哈希对象如下
{2=>{:name=>"Somename"}, 3=>{:last_name=>"Something"}}
我想去
{:name=>"Somename",:last_name=>"Something"}
input_hash.values.reduce { |h,v| h.merge(v) }
更新:我认为我的答案是最短的,但我错了,来自tokland的答案:
input_hash.values.reduce(:merge)
在这种特殊情况下,您可以使用 splat 运算符将哈希值提取到哈希数组中。例如:
my_hash = {2=>{:name=>"Somename"}, 3=>{:last_name=>"Something"}}
[*my_hash.values]
# => [{:name=>"Somename"}, {:last_name=>"Something"}]