2013-07-08 139 views

回答

2

事情是这样的:

Hash[a.map(&:values)] # => {1=>"x", 2=>"y"} 

,如果你想其他的办法:

Hash[a.map(&:values).map(&:reverse)] # => {"x"=>1, "y"=>2} 

结合了来自@squiguy建议:

Hash[a.map(&:values)].invert 
+1

你可以只用'invert'为底部的例子,因为它会处理重复的键,但+1。 – squiguy

+0

@squiguy感谢您的提示! +1 – rainkinz