Ruby: проверьте несколько ключей в хэше и удалите его - PullRequest
0 голосов
/ 22 октября 2019

Мне нужно проверить, присутствуют ли оба указанных ключа в хэше. Проверка здесь не проблема, но один из ключей может отсутствовать и может возвращать false. Мне нужно удалить только те ключи, которые присутствуют.

if model_changes.has_key?(name)
   model_changes.delete(name)
end  

if model_changes.has_key?(id)
   model_changes.delete(id)
end

Вместо записи в двух отдельных условиях можно объединить и удалить существующий ключ

1 Ответ

2 голосов
/ 22 октября 2019

Вы можете пойти по следующему пути,

hash = { foo: :foo, bar: :bar, meh: :meh }
output = hash.except(:meh, :bar)
# => {:foo=>:foo}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...