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}"
endIterando 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 totalTransformando 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.inspectTransformando 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 doubledTransformando 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 passingRejeitando 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.sumVerificaçã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_valuemap,transform_values,transform_keysselect/rejectpara filtrarfind,counte 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
- Símbolos versus strings
- Criando e lendo hashes
- Iteração em hashes
- Valores padrão e mesclagem