Comment écrire votre premier programme Ruby

introduction

Le programme «Hello, World!» Est une tradition classique et consacrée de la programmation informatique. C’est un premier programme simple et complet pour les débutants, et un bon moyen de s’assurer que votre environnement est correctement configuré.

Ce tutoriel vous guidera dans la création de ce programme en Ruby. Cependant, pour rendre le programme plus intéressant, nous allons modifier le programme traditionnel «Hello, World» afin qu’il demande à l’utilisateur son nom. Nous utiliserons ensuite le nom dans le message d’accueil. Lorsque vous aurez terminé le didacticiel, vous aurez un programme qui ressemblera à ceci:

OutputPlease enter your name.

Hello, Sammy! I'm Ruby!

Conditions préalables

Vous devez avoir un local Ruby development environment mis en place le ton ordinateur. Configurez-en un en suivant l’un de ces tutoriels:

[[step-1---writing-the-basic-“hello-world-”-program]] === Étape 1 - Écriture du programme de base «Hello, World!»

Pour écrire le programme “Hello, World!”, Ouvrons un éditeur de texte en ligne de commande tel que + nano + et créons un nouveau fichier:

nano hello.rb

Une fois le fichier texte ouvert dans la fenêtre du terminal, nous allons taper notre programme:

bonjour.rb

puts "Hello, World!"

Décomposons les différents composants du code.

+ met + est une méthode Ruby qui indique à l’ordinateur d’imprimer du texte à l’écran.

La méthode + met + est ensuite suivie d’une séquence de caractères - + Hello, World! +, Encadrés par des guillemets. Tous les caractères figurant entre guillemets sont appelés string. La méthode + met + affichera cette chaîne à l’écran lors de l’exécution du programme.

Certaines méthodes, comme la méthode + met +, sont incluses par défaut dans Ruby. 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.

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

Essayons notre programme.

Étape 2 - Exécution d’un programme Ruby

Avec notre programme «Hello, World!» Écrit, nous sommes prêts à exécuter le programme. Nous allons utiliser la commande + ruby ​​+, suivie du nom du fichier que nous venons de créer.

ruby hello.rb

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

OutputHello, World!

Voyons ce qui s’est réellement passé.

L’exécution de la commande + ruby ​​+ a lancé le Ruby * interpreter *. L’interprète Ruby a lu le fichier que vous avez spécifié et évalué son contenu. Il a exécuté la ligne + met" Hello, World! "+ En appelant_ la fonction + met +. La valeur de chaîne de + Hello, World! + A été transmise à la fonction.

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

Les guillemets situés de part et d’autre de + Hello, World! + N’ont pas été imprimés à l’écran car ils servent à indiquer à Ruby qu’ils contiennent une chaîne. Les guillemets délimitent le début et la fin de la chaîne.

Le programme fonctionne, mais nous pouvons le rendre plus interactif. Voyons comment.

Étape 3 - Demander une entrée

Chaque fois que nous exécutons notre programme, il produit le même résultat. Invitons la personne qui exécute notre programme à donner son nom. Nous pouvons ensuite utiliser ce nom dans la sortie.

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 invite l’utilisateur à entrer son nom:

salutation.rb

puts "Please enter your name."

Une fois encore, nous utilisons la méthode + met + pour imprimer du texte à l’écran.

Maintenant, ajoutez cette ligne pour capturer l’entrée de l’utilisateur:

salutation.rb

puts "Please enter your name."

Cette ligne suivante est un peu plus compliquée. Soyons le décomposer.

La méthode + obtient + indique à l’ordinateur d’attendre les entrées du clavier. Cela met le programme en pause, permettant à l’utilisateur de saisir le texte de son choix. Le programme continue lorsque l’utilisateur appuie sur la touche + ENTER + de son clavier. Toutes les frappes, y compris la frappe + ENTER +, sont ensuite capturées et converties en une chaîne de caractères.

Nous souhaitons utiliser ces caractères dans la sortie de notre programme. Nous les sauvegardons donc en attribuant la chaîne à une _variable appelée + nom +. Ruby enregistre cette chaîne dans la mémoire de votre ordinateur jusqu’à la fin du programme.

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

salutation.rb

puts "Please enter your name."
name = gets

Nous utilisons à nouveau la méthode + met +, mais cette fois, nous utilisons une fonctionnalité Ruby appelée string interpolation, qui nous permet de prendre la valeur assignée à une variable et de la placer à l’intérieur d’une chaîne. Au lieu du mot + nom, nous aurons la valeur que nous avons enregistrée dans la variable` + nom de`, qui devrait être le nom de l’utilisateur.

Sauvegardez et quittez + nano + en appuyant sur + CTRL + X +, et appuyez sur + y + lorsque vous êtes invité à enregistrer le fichier.

Maintenant, lancez le programme. Vous serez invité à entrer votre nom. Entrez-le et appuyez sur + ENTER. La sortie peut ne pas correspondre exactement à ce que vous attendez:

OutputPlease 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 * nos frappes au clavier, y compris la touche + ENTER + sur laquelle nous avons appuyé pour indiquer au programme de continuer. Dans une chaîne, une pression 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 nous lui avons demandé de faire; il affiche le texte que nous avons saisi, y compris cette nouvelle ligne. Ce n’est tout simplement pas ce que nous voulions. Mais nous pouvons le réparer.

Ouvrez le fichier + greeting.rb + dans votre éditeur:

nano greeting.rb

Localisez cette ligne dans votre programme:

salutation.rb

name = gets

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

salutation.rb

name = gets

Ceci 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, il 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 sur + y + lorsque vous êtes invité à 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:

OutputPlease enter your name.

Hi, Sammy! I'm Ruby!

Vous avez maintenant un programme Ruby qui prend les 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 les résultats, essayez d’étendre votre programme plus avant. Par exemple, demandez la couleur préférée de l’utilisateur et demandez au programme de dire que sa couleur préférée est le rouge. Vous pourriez même essayer d’utiliser cette même technique pour créer un programme simple Mad-Lib.