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