0Pricing
Ruby Academy · Aula

Valores padrão e mesclagem

fetch, merge, dig.

Valores padrão e mesclagem é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.

O Problema com nil

Ler uma chave ausente retorna nil, o que pode causar surpresas em cálculos ou na lógica. O Ruby oferece formas mais seguras de lidar com a ausência.

h = { a: 1 }
puts h[:b].inspect

fetch para Acesso Seguro

fetch retorna o valor ou gera um erro claro se a chave estiver ausente. Use-o quando uma chave for obrigatória.

h = { name: "Ada" }
puts h.fetch(:name)

fetch com um Valor Padrão

Forneça a fetch um segundo argumento como alternativa usada somente quando a chave estiver ausente.

h = { name: "Ada" }
puts h.fetch(:age, 0)
puts h.fetch(:name, "Unknown")

fetch com um Bloco

Passe um bloco para calcular a alternativa sob demanda. O bloco é executado somente quando não há correspondência.

h = {}
puts h.fetch(:x) { "computed default" }

Tabela de Dispersão com um Valor Padrão

Hash.new(default) retorna o valor padrão para qualquer chave ausente, em vez de nil. O valor padrão é compartilhado, então prefira essa forma para valores imutáveis simples.

counts = Hash.new(0)
counts[:a] += 1
counts[:a] += 1
puts counts[:a]
puts counts[:b]

Valor Padrão com um Bloco

Hash.new { |hash, key| ... } calcula um novo valor padrão para cada chave, sendo ideal para agrupar elementos em listas.

groups = Hash.new { |h, k| h[k] = [] }
groups[:fruit] << "apple"
groups[:fruit] << "pear"
puts groups[:fruit].inspect

Contando com Valores Padrão

Um valor padrão igual a 0 torna a contagem de palavras simples e organizada.

words = ["a", "b", "a", "a"]
count = Hash.new(0)
words.each { |w| count[w] += 1 }
puts count

Combinando Tabelas de Dispersão

merge combina duas tabelas de dispersão em uma nova. Em caso de conflito, as chaves da segunda tabela vencem.

defaults = { color: "red", size: "M" }
user = { color: "blue" }
puts defaults.merge(user)

Combinando com um Bloco

Passe um bloco para merge a fim de resolver conflitos, por exemplo somando os valores.

a = { x: 1, y: 2 }
b = { y: 3, z: 4 }
puts a.merge(b) { |key, old, new| old + new }

Acesso Aninhado Seguro com dig

dig lê tabelas de dispersão aninhadas com segurança, retornando nil se algum nível estiver ausente, em vez de causar uma falha.

data = { user: { address: { city: "London" } } }
puts data.dig(:user, :address, :city)
puts data.dig(:user, :phone, :home).inspect

Combinando as Ferramentas

Use valores padrão e merge em conjunto para criar uma configuração a partir de valores básicos e substituições.

base = { retries: 3, timeout: 30 }
options = base.merge(timeout: 60)
puts options.fetch(:timeout)

Verificação rápida

Verifique seus conhecimentos sobre valores padrão e combinação de tabelas.

Recapitulação

Agora você lida com dados ausentes de forma adequada:

  • fetch com valor padrão, bloco ou erro rigoroso
  • Hash.new(0) e valores padrão com bloco para contagem e agrupamento
  • merge com blocos para conflitos
  • dig para acesso aninhado seguro

Próximo curso: intervalos e enumeração.

c = Hash.new(0)
c[:hits] += 1
puts c[:hits]

Perguntas Frequentes

A aula “Valores padrão e mesclagem” é grátis?

Sim — o texto completo de “Valores padrão e mesclagem” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.

O que vou aprender em “Valores padrão e mesclagem”?

fetch, merge, dig. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Ruby Academy?

Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Valores padrão e mesclagem”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Ruby Academy?

Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Símbolos versus strings
  2. Criando e lendo hashes
  3. Iteração em hashes
  4. Valores padrão e mesclagem
← Voltar para Ruby Academy