Можете ли вы помочь кому-нибудь ?.У меня есть значение хеш-функции следующим образом.Мне нужно отсортировать хэш в обратном порядке по значению ключа и вернуть как тип хэша.
Мой фактический ожидаемый результат (хэш)
result = {20111104111221=>[4, 5, 6], 20111104111220=>[7, 8, 9], 20111104110950=>[1, 2, 3]}
# this is my input
irb(main):096:0> h = {20111104111221=>[4, 5, 6], 20111104110950=>[1, 2, 3], 20111104111220=>[7, 8, 9]}
=> {20111104111221=>[4, 5, 6], 20111104110950=>[1, 2, 3], 20111104111220=>[7, 8, 9]}
# It's not correct
irb(main):095:0> Hash[h.sort]
=> {20111104111221=>[4, 5, 6], 20111104110950=>[1, 2, 3], 20111104111220=>[7, 8, 9]}
Итак, я попробовал это.Это правильно, но оно возвращается в виде значения массива, мне нужно возвращаемое значение в виде хэша.
# It's correct but it's not a hash
irb(main):092:0> arr = h.sort_by { |k,v| k }.reverse
=> [[20111104111221, [4, 5, 6]], [20111104111220, [7, 8, 9]], [20111104110950, [1, 2, 3]]]
Снова я попытался преобразовать массив в хэш ... но это помогает.