Mixin e moduli
Utilizzi moduli e mixin per estendere le funzionalità delle classi senza l'ereditarietà tradizionale.
Mixin e moduli è una lezione Ruby Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ruby Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ruby Academy include 4 lezioni in totale.
Condividere il codice con i moduli
Mix-in e moduli
I moduli consentono di organizzare e riutilizzare il codice senza ricorrere all'ereditarietà tradizionale.
I mix-in consentono a più classi di condividere un comportamento senza essere direttamente correlate.
In questa lezione imparerà a utilizzare moduli e mix-in in Ruby.

Definizione di un modulo
Definizione di un modulo
I moduli vengono definiti utilizzando la parola chiave module e non possono essere istanziati.
module Greetings
def say_hello
puts 'Hello!'
end
endInclusione di un modulo
Inclusione di un modulo
Utilizzi include per aggiungere i metodi del modulo come metodi di istanza.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
include Greetings
end
person1 = Person.new
person1.say_helloUtilizzo di extend
Utilizzo di extend
extend aggiunge i metodi del modulo come metodi di classe.
module Greetings
def say_hello
puts 'Hello!'
end
end
class Person
extend Greetings
end
Person.say_helloUtilizzo di più moduli
Utilizzo di più moduli
Una classe può includere più moduli per fornire funzionalità diverse.
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.talkUtilizzo delle costanti nei moduli
Utilizzo delle costanti nei moduli
I moduli possono contenere costanti a cui è possibile accedere utilizzando ::.
module MathOperations
PI = 3.14
end
puts MathOperations::PIIncapsulamento dei metodi nei moduli
Incapsulamento dei metodi nei moduli
I moduli consentono di definire metodi di supporto utilizzabili in classi diverse.
module Formatter
def format_text(text)
text.upcase
end
end
class Document
include Formatter
end
doc = Document.new
puts doc.format_text('hello')Utilizzo di self nei moduli
Utilizzo di self nei moduli
I metodi all'interno di un modulo possono essere definiti utilizzando self per renderli accessibili direttamente.
module Helper
def self.greet
puts 'Hello from a module!'
end
end
Helper.greetCongratulazioni!
Congratulazioni!
Ha imparato a utilizzare mix-in e moduli in Ruby.
Successivamente, esplorerà la gestione dei file e le operazioni di input/output.

Domande Frequenti
La lezione «Mixin e moduli» è gratuita?
Sì — il testo completo di «Mixin e moduli» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ruby Academy, passa a CoddyKit PRO. Il corso Ruby Academy include 4 lezioni in totale.
Cosa imparerò in «Mixin e moduli»?
Utilizzi moduli e mixin per estendere le funzionalità delle classi senza l'ereditarietà tradizionale. Eserciti Ruby Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ruby Academy?
Non è richiesta alcuna esperienza precedente. Ruby Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Mixin e moduli»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ruby Academy?
Sì. Ogni lezione Ruby Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.