讓我們這個例子:如何僅獲得Ruby 1.9中有序哈希的子集?
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}
我可以看到如何編程自己這種方法,但可能有一些本機已經完成,我可以使用...?
一個範圍也可能是一個有效的散列鍵,所以你必須使用自定義的方法這一點。我不認爲沒有內置任何東西,順便說一句。 – tokland