Introduction à Ruby (et la gem Thor)

Pour ceux qui ne sont pas amis avec les langages de programmation inutilement verbeux et compliqués, mais qui n'ont pas été concquis par Perl ou Python, je vous propose aujourd'hui de vous pencher sur Ruby.
Ruby a été créé en 1995 par Yukihiro "Matz" Matsumoto autour de trois principes : simple à apprendre, rapide à débuter, et naturel à écrire. Ruby peut donc apparaître au premier abord simpliste, mais sa conception et son architecture internes sont très complexes.
Passons sans plus attendre à la pratique...

logo-ruby.gif

Installation

Ruby est un langage multi-plateforme, il fonctionne donc aussi bien sur un environnement Linux, Mac, ou Windows.

  • Sous Ubuntu / Debian : $ sudo apt-get install ruby-1.9.1-full
  • Sous Mac : $ brew install ruby
  • Sous Windows : Le RubyInstaller est la façon la plus simple et la plus rapide sous Windows.

Hello World !

Inutile de commencer par créer un fichier (dont le nom porte l'extention .rb) pour commencer à programmer. Ruby est installé par défaut avec Interactive Ruby. Abrégé IRB, il permet d'écrire du code Ruby et de l'interpréter sans enregistrer de fichiers, pratique pour faire des tests rapidement.
En mode console, sous Ubuntu et Mac, taper irb. Sous Windows, lancer l'application fxri du menu Démarrer.
Taper la commande puts "Hello World !", vous venez de faire votre premier Hello World en Ruby. Vous pouvez également essayer quelques opérations mathématiques.

helloworld

Tout est OBJECTif

La particularité du langage Ruby est que tous les types sont des objets. Ainsi, un simple nombre possède des méthodes. Voici quelques exemples :

demoobjet.png

Vous le constatez, Ruby est très flexible et très naturel à écrire. Pour créer notre propre objet, rien de plus facile, définissons tout d'abord une classe (vous pouvez maintenant quitter IRB et créer un fichier test.rb, puis éditez le avec votre éditeur de texte préféré) :

classpersonne.png

Vous pouvez maintenant exécuter votre fichier test.rb avec : $ ruby test.rb

Thor (les gems)

Les gems sont des bibliothèques externes conçues pour faciliter le développement d'applications et que nous pouvons installer et utiliser en fonction de nos besoins. Il existe un gestionnaire de paquets permettant de les télécharger et de les installer simplement : RubyGems.

Je vais vous présenter brièvement la gem Thor que j'ai eu l'occasion de manipuler. Elle permet d'utiliser une méthode d'une classe sous la forme d'une commande très simplement. L'idée est d'exécuter un programme Ruby accompagné d'une commande, au même titre qu'une commande classique : mkdir monrepertoire.
Pour bien comprendre son intérêt, rien de tel qu'un bon exemple plutôt qu'un long discours :

thor.png

L'idée ici est de réaliser un programme Ruby faisant office de Packager de déploiement. Comme son nom l'indique, le Packager permet de générer une archive contenant les répertoires et les fichiers à déployer en production suite à une modification. La commande pour le lancer est donc la suivante (doubler les tirets) :

ruby packager.rb launch -version "From:To" -rev "From:To"

launch est donc une commande et fait ainsi référence à la méthode launch de la classe Packager. Là où Thor est très utile, c'est qu'il gère automatiquement les arguments de la commande launch. Leurs valeurs respectives se retrouvent donc dans les variables version et rev très simplement. Le mot clé desc permet de renseigner une information sur l'utilisation de la méthode launch. Pour la visualiser, lancer la commande suivante :

ruby packager.rb help launch

ou tout simplement (pour avoir des informations sur l'ensemble des commandes de la classe Packager) :

ruby packager.rb

Il existe bien évidemment un nombre très important de gems disponibles sur le site RubyGems.

Conclusion

Cette présentation de Ruby n'est qu'une introduction, mais vous avez pu entrapercevoir la simplicité et la puissance du langage. En l'espace de quelques années, sa communauté a énormément grandi. Le Framework web Ruby on Rails y a largement contribué et mérite d'être connu des développeurs web. Il est à noter également que Ruby fait parti du top 10 des langages les plus utilisés au monde (selon TIOBE).

Pour aller plus loin

J'espère que cette petite introduction vous a donné l'envie de vous y attarder un petit peu plus. Je vous conseille l'excellent tutoriel "Ruby en 20 minutes" qui vous permettra de prendre en main la syntaxe (très souple et permissive), ainsi que de découvrir la puissance de Ruby.

2 commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.