我所拥有的:一系列大小不同的哈希。
hashes = [{:a => 0}, {:a => 0, :b => 1}, {:b => 1}]
我需要什么:我只需要最大的物品。
{:a => 0, :b => 1}
这是正确的方法还是效率低下?
hashes.sort_by { |h| h.length }.last
还有其他想法吗?谢谢!
答案 0 :(得分:5)
您的解决方案效果很好,但是您也可以使用max_by
,它似乎更有效:
hashes.max_by(&:length)
#=> {:a=>0, :b=>1}