Método dig em Ruby

Dicas - 26/Abr/2020 - por André Kanamura

Desde a versão 2.3, o Ruby possui o método dig. O método acessa os valores aninhados dentro de Hashes e de Arrays, chamando novamente o método dig a cada passo da sequência de argumentos passados a ele. Veja o exemplo a seguir:

user = { name: "Leon", address: { work: "Alameda Santos, 1293", 
                                  home: "Alameda Tietê, 333" }, 
         phone: ["9999-9999", "8888-8888"] } 

user.dig(:address, :work)
#=> "Alameda Santos, 1293"
user.dig(:phone, 1)
#=> "8888-8888"
user.dig(:phone, 2)
#=> nil

Uma funcionalidade interessante do dig é que ele retorna nil caso o valor ou chave não seja encontrado. Isso ajuda a lidar com o problema de hashes voláteis ou com valores desconhecidos, afinal ele nos dá a oportunidade de tratar o retorno nulo em vez de levantar o erro de execução.

Referências

Foto de perfil do autor
André Kanamura

Dev na Campus Code