当我在频率哈希上使用sort_by
时,它返回一个数组。如何返回哈希?
puts frequency.class #returns hash
frequency = frequency.sort_by {|k,v| v}.reverse
puts frequency.class #returns array
答案 0 :(得分:1)
sort_by
只返回一个数组。您可以将其强制转换为这样的哈希:
frequency = frequency.sort_by {|k,v| v}.reverse
frequency = Hash[frequency]
答案 1 :(得分:1)
这是一个很老的问题,但是使用Ruby 2.2+却很简单:
frequency.sort_by { |_, v| -v }.to_h