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.inspectsum
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 }.inspectany? 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).inspectgroup_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 groupseach_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}"
endComprobación rápida
Compruebe sus conocimientos sobre Enumerable.
Recapitulación
Enumerable potencia las colecciones:
include?,count,min/max,sumsort/sort_by,any?/all?/none?find,first/take/dropgroup_by,each_with_index
A continuación: map, select y reject en profundidad.
puts [3, 1, 2].sort.inspectPreguntas 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
- Creación de rangos
- El módulo Enumerable
- map, select, reject
- reduce y each_with_object