问题描述
|
在Ruby 1.9.x中,我有一个哈希来维持其顺序
hsh = {9=>2,8=>3,5=>2,4=>2,2=>1}
除此以外,是否有办法说出第三个元素的键:
hsh.to_a[2][0]
解决方法
尝试使用
Hash#keys
和Hash#values
:
thirdKey = hsh.keys[2]
thirdValue = hsh.values[2]
, 为什么使用哈希而不是数组?该阵列非常适合有序集合。
array = [[9,2],[8,3],[5,[4,[2,1]]
array.each { |pair| puts pair.first }
最终,对数组进行排序非常简单。
disordered_array = [[4,[9,1],2]]
disordered_array.sort { |a,b| b <=> a }
=> [[9,1]]
如果我错了纠正我。