fork download
  1. #!/usr/bin/ruby -w
  2. # answer: http://o...content-available-to-author-only...e.jp/qa/q7067894.html
  3.  
  4. require 'pp'
  5.  
  6. h1 = {
  7. user1: {a: 10, b: 20, c: 30},
  8. user2: {d: 5, e: 8},
  9. user3: {f: 10, g: 5, h: 10},
  10. user4: {i: 0, j: 9, k: 10},
  11. user5: {l: 4, m: 100},
  12. user6: {n: 1, o: 0, p: 100},
  13. user7: {q: 6, r: 9},
  14. user8: {s: 1, t: 10, u: 90},
  15. user9: {v: 12, w: 20},
  16. }
  17.  
  18. pp h1.sort_by{|*, h2|h2.inject(0){|sum, pair| sum - pair[1]}}
Success #stdin #stdout 0.01s 5028KB
stdin
Standard input is empty
stdout
[[:user5, {:l=>4, :m=>100}],
 [:user8, {:s=>1, :t=>10, :u=>90}],
 [:user6, {:n=>1, :o=>0, :p=>100}],
 [:user1, {:a=>10, :b=>20, :c=>30}],
 [:user9, {:v=>12, :w=>20}],
 [:user3, {:f=>10, :g=>5, :h=>10}],
 [:user4, {:i=>0, :j=>9, :k=>10}],
 [:user7, {:q=>6, :r=>9}],
 [:user2, {:d=>5, :e=>8}]]