Hash#except no Ruby 3.0

Dicas - 18/Jan/2021 - por André Kanamura

A partir da versão 3.0.0 do Ruby é possível utilizar o método except em hashes. Com ajuda dele, podemos retornar chaves e valores, exceto da chave passada como argumento. Vamos ver o exemplo mostrado no artigo oficial do lançamento:

 h = { a: 1, b: 2, c: 3 }
 p h.except(:a) #=> {:b=>2, :c=>3}

Anteriormente, para obtermos o mesmo resultado seria necessário utilizar lógicas indiretas com métodos como o delete ou reject, por exemplo:

 h = { a: 1, b: 2, c: 3 }
 h.reject { |key, value| key == :a }
 #=> {:b=>2, :c=>3} 

Você pode ver mais sobre esse método e outras novidades aqui.

Foto de perfil do autor
André Kanamura

Dev na Campus Code