0Pricing
Ruby Academy · Lección

El módulo Enumerable

Funcionalidad compartida para colecciones

El módulo Enumerable es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.

¿Qué es Enumerable?

Enumerable es un módulo que proporciona a colecciones como arrays, hashes y rangos un conjunto común de métodos potentes. Cualquier clase que tenga each puede incluirlo.

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

include? y member?

include? comprueba si una colección contiene un valor.

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

count

count devuelve el tamaño o, si recibe un bloque, cuenta los elementos que coinciden.

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

min, max y minmax

Encuentre los extremos con min o max, o ambos a la vez con minmax.

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

sum

sum suma todos los elementos. Puede pasarle un valor inicial.

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

sort y sort_by

sort ordena los elementos; sort_by los ordena según una clave calculada.

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

any? y all?

any? devuelve true si al menos un elemento coincide; all? devuelve true solo si coinciden todos los elementos.

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

none? y find

none? devuelve true si no coincide ningún elemento. find (alias de detect) devuelve la primera coincidencia.

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

first y take

first obtiene el primer elemento o los primeros elementos; take toma una cantidad desde el principio y drop los omite.

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

group_by

group_by crea un hash que agrupa los elementos según el resultado del bloque.

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

each_with_index

each_with_index proporciona tanto el elemento como su posición.

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

Comprobación rápida

Compruebe sus conocimientos sobre Enumerable.

Recapitulación

Enumerable potencia las colecciones:

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

A continuación: map, select y reject en profundidad.

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

Preguntas frecuentes

¿La lección «El módulo Enumerable» es gratis?

Sí — el texto completo de «El módulo Enumerable» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.

¿Qué aprenderé en «El módulo Enumerable»?

Funcionalidad compartida para colecciones Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ruby Academy?

No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «El módulo Enumerable»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?

Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Creación de rangos
  2. El módulo Enumerable
  3. map, select, reject
  4. reduce y each_with_object
← Volver a Ruby Academy