Recherche de site Web

Comment écrire votre premier programme Ruby


Introduction

Le programme « Bonjour, le monde ! » est une tradition classique et ancienne en programmation informatique. C’est un petit programme complet pour les débutants, et c’est un bon moyen de s’assurer que votre environnement est correctement configuré.

Ce tutoriel vous guidera à travers la création de ce programme en Ruby. Cependant, pour rendre le programme plus intéressant, vous allez modifier le programme traditionnel « Hello, World » afin qu'il demande à l'utilisateur son nom. Vous utiliserez ensuite le nom dans le message de bienvenue. Une fois le tutoriel terminé, vous aurez un programme qui ressemble à ceci lorsque vous l'exécutez :

Please enter your name.
Sammy
Hello, Sammy! I'm Ruby!

Prérequis

Vous devriez avoir un environnement de développement Ruby local configuré sur votre ordinateur. Configurez-en un en suivant l'un de ces tutoriels :

  • Comment installer Ruby et configurer un environnement de programmation local sur macOS
  • Comment installer Ruby et configurer un environnement de programmation local sur Ubuntu 16.04
  • Comment installer Ruby et configurer un environnement de programmation local sur Windows 10

Étape 1 — Écrire le programme de base « Bonjour, le monde ! »

Pour écrire le programme « Hello, World! », ouvrez un éditeur de texte en ligne de commande tel que nano et créez un nouveau fichier :

nano hello.rb

Une fois que le fichier texte s'ouvre dans la fenêtre du terminal, vous taperez votre programme :

puts "Hello, World!"

Décomposons les différentes composantes du code.

puts est une méthode Ruby qui dit à l'ordinateur d'afficher du texte à l'écran.

La méthode puts est ensuite suivie d'une séquence de caractères — Hello, World !, entourée de guillemets. Tous les caractères qui se trouvent à l'intérieur des guillemets sont appelés une chaîne de caractères. La méthode puts affichera cette chaîne à l'écran lorsque le programme s'exécute.

Certaines méthodes, comme la méthode puts, sont incluses dans Ruby par défaut. Ces méthodes intégrées sont toujours disponibles lorsque vous créez des programmes Ruby. Vous pouvez également définir vos propres méthodes.

Enregistrez et quittez nano en tapant les touches CONTROL et X, et lorsque vous êtes invité à enregistrer le fichier, appuyez sur y puis sur ENTRÉE.

Essayons votre programme.

Étape 2 — Exécution d'un programme Ruby

Avec votre programme « Hello, World! » écrit, vous êtes prêt à exécuter le programme. Vous utiliserez la commande ruby, suivie du nom du fichier que vous venez de créer.

ruby hello.rb

Le programme s'exécutera et affichera cette sortie :

Hello, World!

Explorons ce qui s'est réellement passé.

L'exécution de la commande ruby a lancé l'interpréteur Ruby. L'interpréteur Ruby a lu le fichier que vous avez spécifié et évalué son contenu. Il a exécuté la ligne puts "Hello, World!" en appelant la fonction puts. La valeur de chaîne Hello, World! a été passée à la fonction.

Dans cet exemple, la chaîne Hello, World! est également appelée un argument puisqu'il s'agit d'une valeur qui est transmise à une méthode.

Les guillemets qui se trouvent de chaque côté de Hello, World! n'ont pas été affichés à l'écran parce qu'ils sont utilisés pour indiquer à Ruby qu'ils contiennent une chaîne de caractères. Les guillemets délimitent le début et la fin de la chaîne.

Le programme fonctionne, mais vous pouvez le rendre plus interactif. Voyons comment.

Étape 3 — Demander une entrée

Chaque fois que vous exécutez votre programme, il produit le même résultat. Demandons à la personne qui exécute votre programme son nom. Vous pouvez ensuite utiliser ce nom dans le résultat.

Au lieu de modifier votre programme existant, créez un nouveau programme appelé greeting.rb dans l'éditeur nano :

nano greeting.rb

Tout d'abord, ajoutez cette ligne, qui incite l'utilisateur à entrer son nom :

puts "Please enter your name."

Une fois de plus, vous utilisez la méthode puts pour afficher du texte à l'écran.

Ajoutez maintenant cette ligne pour capturer la saisie de l'utilisateur :

puts "Please enter your name."
name = gets

Cette ligne suivante est un peu plus complexe. Décomposons-la.

La méthode gets indique à l'ordinateur d'attendre une saisie au clavier. Cela met le programme en pause, permettant à l'utilisateur de saisir le texte qu'il souhaite. Le programme reprendra lorsque l'utilisateur appuiera sur la touche ENTRÉE de son clavier. Toutes les frappes, y compris la frappe ENTRÉE, sont alors capturées et converties en une chaîne de caractères.

Vous voulez utiliser ces caractères dans la sortie de votre programme, donc vous enregistrez ces caractères en assignant la chaîne à une variable appelée name. Ruby stocke cette chaîne dans la mémoire de votre ordinateur jusqu'à ce que le programme se termine.

Enfin, ajoutez cette ligne pour afficher le résultat :

puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"

Vous utilisez à nouveau la méthode puts, mais cette fois vous utilisez une fonctionnalité de Ruby appelée interpolation de chaînes, qui vous permet de prendre la valeur assignée à une variable et de la placer à l'intérieur d'une chaîne. Au lieu du mot name, vous obtiendrez la valeur que vous avez enregistrée dans la variable name, qui devrait être le nom de l'utilisateur.

Enregistrez et quittez nano en appuyant sur CTRL+X, puis appuyez sur y lorsqu'on vous demande de sauvegarder le fichier, ensuite appuyez sur ENTRÉE.

Exécutez maintenant le programme avec cette commande :

ruby greeting.rb

Il vous sera demandé votre nom, alors saisissez-le et appuyez sur ENTRÉE. La sortie peut ne pas être exactement ce à quoi vous vous attendez :

Please enter your name.
Sammy
Hi, Sammy
! I'm Ruby!

Au lieu de Salut, Sammy ! Je suis Ruby !, il y a un saut de ligne juste après le nom.

Le programme a capturé toutes vos frappes, y compris la touche ENTER que vous avez enfoncée pour dire au programme de continuer. Dans une chaîne, appuyer sur la touche ENTER crée un caractère spécial qui crée une nouvelle ligne. La sortie du programme fait exactement ce que vous lui avez demandé de faire ; elle affiche le texte que vous avez saisi, y compris cette nouvelle ligne. Ce n’est juste pas ce que vous vouliez. Mais vous pouvez le réparer.

Ouvrez le fichier greeting.rb dans votre éditeur :

nano greeting.rb

Localisez cette ligne dans votre programme :

name = gets

Et modifiez-le pour qu'il ressemble à ceci :

name = gets.chop

Cela utilise la méthode chop de Ruby sur la chaîne que nous avons capturée avec gets. La méthode chop supprime le tout dernier caractère d'une chaîne. Dans ce cas, elle supprime le caractère de nouvelle ligne à la fin de la chaîne créée lorsque nous avons appuyé sur ENTER.

Enregistrez et quittez nano. Appuyez sur CTRL+X, puis appuyez sur y lorsqu'on vous demande d'enregistrer le fichier.

Exécutez le programme à nouveau :

ruby greeting.rb

Cette fois, après avoir entré votre nom et appuyé sur ENTER, vous obtenez le résultat attendu :

Please enter your name.
Sammy
Hi, Sammy! I'm Ruby!

Vous avez maintenant un programme Ruby qui prend des entrées d'un utilisateur et les affiche à l'écran.

Conclusion

Maintenant que vous savez comment demander une entrée, traiter les résultats et afficher une sortie, essayez d'élargir davantage votre programme. Par exemple, demandez la couleur préférée de l'utilisateur, et faites en sorte que le programme dise que sa couleur préférée est le rouge. Vous pouvez même essayer d'utiliser cette même technique pour créer un simple programme de Mad-Lib.