0Pricing
Ruby Academy · Aula

O módulo Enumerable

Recursos compartilhados para coleções.

O módulo Enumerable é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 2 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 que é Enumerable?

Enumerable é um módulo que fornece a coleções como vetores, tabelas de dispersão e intervalos um conjunto compartilhado de métodos poderosos. Qualquer classe que tenha each pode incluí-lo.

puts [1, 2, 3].is_a?(Enumerable)
puts (1..3).is_a?(Enumerable)

include? e member?

include? verifica se uma coleção contém um valor.

nums = [10, 20, 30]
puts nums.include?(20)
puts (1..5).include?(3)

Contagem

count retorna o tamanho ou, com um bloco, conta os elementos correspondentes.

nums = [1, 2, 3, 4]
puts nums.count
puts nums.count { |n| n.even? }

mínimo, máximo e mínimo-máximo

Encontre os extremos com min, max ou ambos de uma só vez com minmax.

nums = [4, 1, 7, 3]
puts nums.min
puts nums.max
puts nums.minmax.inspect

sum

sum soma todos os elementos. Você pode fornecer um valor inicial.

puts [1, 2, 3].sum
puts [1, 2, 3].sum(100)

Ordenação e ordenação por chave

sort ordena os elementos; sort_by ordena usando uma chave calculada.

words = ["pear", "a", "fig"]
puts words.sort.inspect
puts words.sort_by { |w| w.length }.inspect

any? e all?

any? é verdadeiro se pelo menos um elemento corresponder; all? é verdadeiro somente se todos os elementos corresponderem.

nums = [2, 4, 6]
puts nums.all? { |n| n.even? }
puts nums.any? { |n| n > 5 }

none? e find

none? é verdadeiro se nada corresponder. find (o alias detect) retorna a primeira correspondência.

nums = [1, 3, 5]
puts nums.none? { |n| n.even? }
puts nums.find { |n| n > 2 }

first e take

first obtém o primeiro elemento ou os primeiros elementos; take obtém uma quantidade a partir do início e drop os ignora.

nums = [10, 20, 30, 40]
puts nums.first(2).inspect
puts nums.drop(2).inspect

Agrupamento por chave

group_by cria uma tabela de dispersão que agrupa os elementos pelo resultado do bloco.

nums = [1, 2, 3, 4, 5]
groups = nums.group_by { |n| n.even? ? :even : :odd }
puts groups

Percorrendo com índice

each_with_index fornece tanto o elemento quanto a sua posição.

%w[a b c].each_with_index do |item, i|
  puts "#{i}: #{item}"
end

Verificação rápida

Verifique seus conhecimentos sobre Enumerable.

Recapitulação

Enumerable dá superpoderes às coleções:

  • include?, count, min/max, sum
  • sort/sort_by, any?/all?/none?
  • find, first/take/drop
  • group_by, each_with_index

A seguir: map, select e rejeição em detalhes.

puts [3, 1, 2].sort.inspect

Perguntas Frequentes

A aula “O módulo Enumerable” é grátis?

Sim — o texto completo de “O módulo Enumerable” é 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 “O módulo Enumerable”?

Recursos compartilhados para coleções. 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 2 de 4.

Quanto tempo leva a aula “O módulo Enumerable”?

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. Criando intervalos
  2. O módulo Enumerable
  3. map, select, reject
  4. reduce e each_with_object
← Voltar para Ruby Academy