Ruby · Intermediário · Inglês · Técnico
dig
Método de Hash, Array e Struct que navega por estruturas aninhadas seguindo uma lista de chaves, devolvendo nil se algum nível não existir em vez de lançar erro.
Onde usar
Aparece ao ler respostas JSON ou configurações profundas, como dados.dig(:user, :address, :city). Evita encadear colchetes e verificações de nil.
Em código
d = { user: { address: { city: "Rio" } } }
p d.dig(:user, :address, :city) # => "Rio"
p d.dig(:user, :phone, :ddd) # => nil
# d[:user][:phone][:ddd] => NoMethodErrorExemplos
Use dig to read the nested city safely.
Use dig para ler a cidade aninhada com segurança.
Dig returns nil when a key in the path is missing.
O dig devolve nil quando falta uma chave no caminho.
Cuidado
Se um nível intermediário não aceitar dig, como um inteiro, o método lança TypeError em vez de devolver nil.