あなたはkeys_sorted_by_decreasing_value
での計算を考えてみましょう
def keys_sorted_by_decreasing_value(h)
h.sort_by(&:last).map(&:first).reverse
end
keys_sorted_by_decreasing_value(people).zip(keys_sorted_by_decreasing_value(cars)).to_h
#=> {"Simon"=>"BMW", "John"=>"Audi", "Peter"=>"Volvo", "Jack"=>"Skoda"}
を書くことができます:
h = people
#=> {"Jack"=>1500, "John"=>3000, "Peter"=>2500, "Simon"=>4000}
a = h.sort_by(&:last)
#=> [["Jack", 1500], ["Peter", 2500], ["John", 3000], ["Simon", 4000]]
b = a.map(&:first)
#=> ["Jack", "Peter", "John", "Simon"]
c = b.reverse
#=> ["Simon", "John", "Peter", "Jack"]
h = cars
#=> {"Audi"=>50000, "BMW"=>70000, "Skoda"=>30000, "Volvo"=>40000}
a = h.sort_by(&:last)
#=> [["Skoda", 30000], ["Volvo", 40000], ["Audi", 50000], ["BMW", 70000]]
b = a.map(&:first)
#=> ["Skoda", "Volvo", "Audi", "BMW"]
d = c.reverse
#=> ["Jack", "Peter", "John", "Simon"]
私たちは、その後、
e = c.zip(d)
#=> [["Simon", "Jack"], ["John", "Peter"], ["Peter", "John"], ["Jack", "Simon"]]
e.to_h
#=> {"Simon"=>"Jack", "John"=>"Peter", "Peter"=>"John", "Jack"=>"Simon"}
何を計算します試しましたか?これまでのところ?いくつかの進捗状況を投稿してください。 – ehh