Développer une classe en Ruby

Depuis l'avènement de l'infrastructure Ruby on Rail, le Ruby connaît un engouement croissant, y compris en France. Voici comment implémenter une classe dans ce langage.

Ruby est un langage Open Source disposant de nombreuses bibliothèques. Il est fourni avec un IRB (Interactive Ruby Shell), un interpréteur interactif. Il dispose également d'une forge : Rubyforge est un annuaire Internet qui héberge aujourd'hui 5000 projets Ruby.

 

Tout est objet en Ruby. Le langage nécessite donc de créer des classes. Une classe est nommé traditionnellement à l'aide du mot class, suivi du nom de la classe, et se termine par end. Cette classe va contenir différentes méthodes définies par le mot def suivies du nom de la méthode, et se terminant par end.

 

Le code contenu à l'intérieur des méthodes va permettre d'agir sur les instances de classe. L'utilisation de get() et set(), qui sont des fonctions standards, évite l'accès direct aux variables de la classe, ce qui est plus sécurisé. Set() permet d'attribuer une valeur à une variable. Get() permet de retourner la valeur d'une variable.

 

A travers l'exemple ci-dessous, nous cherchons à associer une personne à un nom et une adresse

 

class Personne


 def set_nom(var_nom)
   @nom = var_nom
 end 
    
 def set_adresse(var_adresse)
   @adresse= var_adresse

 end 
  
 def get_nom
   return @nom
 end

 def get_adresse
   return @adresse
 end


end

 

On va ensuite utiliser cette classe pour instancier un nouvel objet, ici une nouvelle personne, avec l'opérateur new. on lui assigne ensuite un nom et une adresse grâce aux fonctions set().

 

NouvelPersonne=Personne.new

NouvelPersonne.set_nom(Pierre)

NouvelPersonne.set_adresse(Bordeaux) 


L'affichage s'effectue avec l'opérateur puts. L'appel à la fonction se fait avec # et le nom de la fonction se met entre { }.


puts "La personne s'appelle #{NouvelPersonne.get_nom}"
puts "Elle habite à #{NouvelPersonne.get_adresse}"

On enregistre l'ensemble du code dans un fichier : personne.rb où l'extension rb signifie qu'il s'agit de code Ruby.

Exécution du programme

Pour exécuter ce programme, il faut d'abord lancer l'interpréteur en tapant la ligne suivante dans l'invite de commande :
irb--simple-prompt

Puis on lance le programme avec la commande suivante :

ruby personne.rb

Vous devriez obtenir le résultat suivant :

La personne s'appelle Pierre

Elle habite à Bordeaux

Il existe plusieurs interpréteurs Ruby comme par exemple JRuby, un interpréteur écrit en Java qui permet d'utiliser les classes Java dans du code Ruby.