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