Возьмем этот пример:
d = {"a" => 1, "b" => 2, "c" => 3, "d" => 4}
Поскольку хеши теперь упорядочены, мне может потребоваться получить данные от a
до b
или от c
до d
. Проблема в том, что я не могу выполнить d[0..1]
или d[2..3]
.
Однако я мог:
irb > d.to_a[0..1]
=> [["a", 1], ["b", 2]]
... но это кажется беспорядочным, и я не хочу использовать свой хэш для такой операции.
Есть ли более чистые решения для этого?
# Holy Grail
irb > d[0..1]
=> {"a" => 1, "b" => 2}
Я вижу, как программировать такой метод, но может быть что-то уже сделанное, что я мог бы использовать...?