Modules en Ruby

Qu'est-ce qu'un module en Ruby ?

En Ruby, les modules constituent des ensembles de classes, de méthodes et de constantes. Ils permettent d'ajouter des fonctionnalités supplémentaires aux classes qui les intègrent.

Définition de modules

Les modules se définissent à l'aide d'un bloc module...end. Voici un exemple de base :

module NomDuModule
  include AutreModule
  CONSTANTE = 456

  def methode_un
    # Corps de la méthode
  end

  def methode_deux
    # Corps de la méthode
  end
end

Utilisation des modules dans une classe

Prenons un exemple concret d'un module qui effectue des opérations mathématiques :

module CalculateurBinaire
  def additionner(a, b)
    a + b
  end

  def soustraire(a, b)
    a - b
  end

  def multiplier(a, b)
    a * b
  end

  def diviser(a, b)
    begin
      a / b
    rescue ZeroDivisionError
      puts "La division par zéro (0) n'est pas autorisée."
    end
  end
end

class Calculatrice
  include CalculateurBinaire
end

Ainsi, pour additionner deux nombres avec notre classe Calculatrice, nous ferions :

puts Calculatrice.new.additionner(5, 3) # Sortie : 8

Conclusion

Les modules sont un moyen efficace d'organiser le code en Ruby, en permettant la réutilisation de méthodes et de fonctionnalités communes.