参考文章:http://blog.csdn.net/ppp8300885/article/details/49933305
a={a:1,b:20,c:3,d:0,e:7}
逆序 a.sort{|k,v| v[1]<=>k[1]}
输出 [[:b, 20], [:e, 7], [:c, 3], [:a, 1], [:d, 0]]
正序
a.sort_by{|k,v| v}
输出 [[:d, 0], [:a, 1], [:c, 3], [:e, 7], [:b, 20]]
执行sort时hash被转为一个二维数组,进行的比较是对这个二维数组的比较