Я надеюсь, что на этот вопрос очень простой ответ. Я могу придумать способы сделать это со скучными, раздражающими циклами, но я надеюсь, что есть более элегантное решение.
Если у меня есть следующие две переменные:
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
позволяет мне массово удалять , Я бы предпочел способ массового удаления с возвратом удаленных значений - или что-то эквивалентное.
Спасибо!