Mixins y módulos
Utilice módulos y mixins para ampliar la funcionalidad de las clases sin recurrir a la herencia tradicional
Mixins y módulos es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 4 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.
Compartir código con módulos
Mixins y módulos
Los módulos permiten organizar y reutilizar código sin recurrir a la herencia tradicional.
Los mixins permiten que varias clases compartan comportamiento sin estar relacionadas directamente.
En esta lección, aprenderá a utilizar módulos y mixins en Ruby.

Definición de un módulo
Definición de un módulo
Los módulos se definen mediante la palabra clave module y no se pueden instanciar.
module Greetings
def say_hello
puts 'Hello!'
end
endInclusión de un módulo
Inclusión de un módulo
Utilice include para añadir los métodos del módulo como métodos de instancia.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
include Greetings
end
person1 = Person.new
person1.say_helloUso de extend
Uso de extend
extend añade los métodos del módulo como métodos de clase.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
extend Greetings
end
Person.say_helloUso de varios módulos
Uso de varios módulos
Una clase puede incluir varios módulos para proporcionar distintas funcionalidades.
module Walkable
def walk
puts 'Walking...'
end
end
module Talkable
def talk
puts 'Talking...'
end
end
class Person
include Walkable
include Talkable
end
person1 = Person.new
person1.walk
person1.talkUso de constantes en módulos
Uso de constantes en módulos
Los módulos pueden almacenar constantes a las que se puede acceder mediante ::.
module MathOperations
PI = 3.14
end
puts MathOperations::PIEncapsulación de métodos en módulos
Encapsulación de métodos en módulos
Los módulos permiten definir métodos auxiliares que se pueden utilizar en distintas clases.
module Formatter
def format_text(text)
text.upcase
end
end
class Document
include Formatter
end
doc = Document.new
puts doc.format_text('hello')Uso de self en módulos
Uso de self en módulos
Los métodos dentro de un módulo se pueden definir mediante self para hacerlos accesibles directamente.
module Helper
def self.greet
puts 'Hello from a module!'
end
end
Helper.greet¡Felicidades!
¡Felicidades!
Ha aprendido a utilizar mixins y módulos en Ruby.
A continuación, explorará el trabajo con archivos y las operaciones de entrada y salida.

Preguntas frecuentes
¿La lección «Mixins y módulos» es gratis?
Sí — el texto completo de «Mixins y módulos» 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 «Mixins y módulos»?
Utilice módulos y mixins para ampliar la funcionalidad de las clases sin recurrir a la herencia tradicional 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 4 de 4.
¿Cuánto tiempo toma la lección «Mixins y módulos»?
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.