我希望這個問題有一個非常簡單的答案。我可以想辦法用無聊,煩人的循環做,但我希望有一個更優雅的解決方案。Ruby:根據所需的鍵將一個散列分成兩部分
如果我有以下兩個變量:
hash = {:a => 1, :b => 2, :c => 3, :d => 4}
keyset = [:a, :c]
我怎樣才能在最簡單的方法如下兩個散列可能嗎?
hash1 = {:a => 1, :c => 3}
hash2 = {:b => 3, :d => 4}
如果示例不會使我的目標清晰,在本質上,我要的是#delete
和#delete_if
之間的混合 - #delete
返回刪除值,而#delete_if
讓我在批量刪除。我希望有一種方法可以批量刪除,並將刪除的值返回 - 或者等價的東西。
謝謝!
精彩 - 謝謝! – Matchu 2009-07-10 18:00:21