0Pricing
Ruby Academy · Aula

Iteração em hashes

each, map, select.

Iteração em hashes é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 3 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.

Iterando sobre Cada Par

O método each visita cada par. O bloco recebe a chave e o valor.

scores = { math: 90, art: 80 }
scores.each do |subject, score|
  puts "#{subject}: #{score}"
end

Iterando sobre Pares

each_pair é um alias de each para tabelas de dispersão. Use a forma que deixar o código mais claro.

h = { a: 1, b: 2 }
h.each_pair { |k, v| puts "#{k}=#{v}" }

Iterando Apenas sobre as Chaves

each_key percorre as chaves quando você não precisa dos valores.

h = { name: "Ada", age: 36 }
h.each_key { |k| puts k }

Iterando Apenas sobre os Valores

each_value percorre diretamente os valores.

h = { a: 10, b: 20 }
total = 0
h.each_value { |v| total += v }
puts total

Transformando com map

map em uma tabela de dispersão retorna uma lista. Cada par é fornecido como chave e valor.

prices = { pen: 2, book: 5 }
labels = prices.map { |item, p| "#{item}: $#{p}" }
puts labels.inspect

Transformando Valores

transform_values retorna uma nova tabela de dispersão com cada valor alterado, mas mantendo as chaves.

prices = { pen: 2, book: 5 }
doubled = prices.transform_values { |p| p * 2 }
puts doubled

Transformando Chaves

transform_keys altera as chaves mantendo os valores. É útil para converter cadeias de caracteres em símbolos.

h = { "a" => 1, "b" => 2 }
puts h.transform_keys(&:to_sym)

Filtrando com Seleção

select (alias filter) mantém os pares cujo bloco é verdadeiro e retorna uma nova tabela de dispersão.

scores = { a: 90, b: 50, c: 70 }
passing = scores.select { |k, v| v >= 70 }
puts passing

Rejeitando Pares

reject é o oposto de select. Ele descarta os pares cujo bloco é verdadeiro.

scores = { a: 90, b: 50 }
puts scores.reject { |k, v| v < 60 }

Encontrando e Contando

find retorna o primeiro par correspondente como uma lista. count com um bloco conta as correspondências.

h = { a: 1, b: 2, c: 3 }
puts h.find { |k, v| v == 2 }.inspect
puts h.count { |k, v| v.odd? }

Somando Valores

Combine values com sum para obter totais ou use each_with_object para uma agregação personalizada.

cart = { apple: 3, pear: 5 }
puts cart.values.sum

Verificação rápida

Verifique seus conhecimentos sobre iteração em tabelas de dispersão.

Recapitulação

Agora você consegue iterar sobre tabelas de dispersão:

  • each, each_key, each_value
  • map, transform_values, transform_keys
  • select/reject para filtrar
  • find, count e soma de valores

Próximo: valores padrão e combinação de tabelas.

h = { a: 1, b: 2, c: 3 }
puts h.select { |k, v| v.odd? }

Perguntas Frequentes

A aula “Iteração em hashes” é grátis?

Sim — o texto completo de “Iteração em hashes” é 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 “Iteração em hashes”?

each, map, select. 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 3 de 4.

Quanto tempo leva a aula “Iteração em hashes”?

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