L'essentiel de Ruby on Rails

Utiliser des boucles

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Les boucles permettent d'exécuter du code un certain nombre de fois. Même si l'usage de boucles comme or ou while est peu répandu dans les applications web, vous devez les connaître et savoir les utiliser.
05:57

Transcription

Nous allons découvrir ensemble l'univers fabuleux des boucles en Ruby. Les boucles sont utiles pour répéter une exécution de ligne de code un certain nombre de fois. En Ruby, il existe différentes syntaxes pour écrire des boucles qui ne fonctionnent pas forcément de la même manière. Je vais vous présenter les boucles suivantes : la boucle while, la boucle for, until et loop. Notez l'usage du dièse pour les lignes que je viens d'écrire. Ce dernier permet d'écrire une ligne de commentaire. Une ligne de commentaire ne sera jamais interprétée et exécutée comme du code Ruby dans vos scripts. Elle existe uniquement pour donner une indication sur votre code et permet à d'autres développeurs, ou à vous-même quand vous vous relirez, de mieux comprendre et lire le code. Mettons-nous dans la peau d'un marchand et commençons par étudier la boucle while. Vous êtes un marchand et vendez des produits. Commencez donc par créer une première variable stock que l'on va initialiser à 10 pour dire que vous avez un stock de 10 produits. Nous allons utiliser la boucle when pour dire qu'un client peut acheter un produit tant qu'il reste du stock. Commencez par écrire le mot-clé while qui signifie Tant que. while stock 0 end De la même manière que les conditions en Ruby, les boucles vont toujours commencer par un mot-clé, ici while et se terminer par end. Continuons. Nous allons donc afficher Achat d'un produit tant qu'il reste du stock. Donc, à chaque fois qu'il y a achat d'un produit, nous retirons une unité au stock. Nous pouvons également afficher ce que contient la variable stock. Sauvegardez et exécutez votre script. Vous voyez que l'instruction Achat d'un produit a été répété 10 fois à savoir autant de fois qu'il y a de stock. SI nous traduisons littéralement ce que signifie cette boucle when, nous pouvons dire que tant qu'il reste du stock, alors on achète un produit et on retire une unité au stock. Continuons avec la boucle for. La syntaxe de cette boucle est légèrement différente. Ecrivez le mot-clé for suivi d'une variable, par exemple n suivi de in puis de cette syntaxe. De la même manière que while, terminez la boucle for par le mot-clé end. La syntaxe que vous voyez ci-dessus est ce que l'on appelle un range en Ruby. Comprenez ici cette écriture par un chiffre allant de 1 à 6 La syntaxe avec un troisième point existe aussi. À ce moment-là, le chiffre ira de 1 à 5 autrement dit le chiffre 6 sera exclu du range. Rajoutons quelques affichages de chaines de caractères pour mieux comprendre ce qui se passe. Affichons à l'intérieur de notre boucle for ce que vaut n. Exécutons le script. Vous voyez bien que notre variable n va bien de 1 à 5, sachant que nous avons mis trois petits points ici, le 6 est bel et bien exclu. La boucle until fonctionne sensiblement de la même façon que la boucle while. Vous pouvez comprendre qu'until est à while ce que unless est à if. Si, par exemple, en tant que commerçant, vous recevez 5 nouveaux produits. Avec until, vous allez dire : tant que mon stock n'est pas nul alors mon client peut acheter un produit. Rajoutons une petite instruction pour dire que nous sommes dans la boucle until. Exécutons le script. Comme la boucle while, vous voyez que Achat d'un produit s'est répété 5 fois à savoir autant de fois que nous avions de stock. De nouveau, nous pouvons traduire littéralement. Ici, cela signifie : jusqu'à ce que je n'ai plus de stock, mon client peut acheter un produit. Terminons par la boucle loop. Cette dernière n'a pas de condition de sortie comme les trois autres ci-dessus Cela signifie qu'il faut que vous l'écriviez vous-même, autrement vous risquez d'avoir une boucle infinie. Une boucle infinie est une boucle dont les instructions ne se terminent jamais et risque de faire planter votre application. Remettons du stock en boutique. 3 produits. Ecrivons le mot-clé loop Nous pouvons utiliser les mots-clés do et end pour délimiter l'ensemble des instructions qui seront exécutées dans cette boucle. De nouveau, mettons : puts Achat d'un produit et retirons du stock. Comment rédigez alors ce qui va nous permettre de sortir de cette boucle ? Nous utilisons pour cela le mot-clé break. break signifie s'arrêter. Si nous le laissons ainsi la boucle va s'arrêter dès lors que l'on rencontre le mot-clé break. À ce moment-là, notre client n'aura acheté qu'un seul produit. Or, nous souhaitons qu'il achète les trois. Nous allons donc utiliser une condition pour dire que : si notre stock vaut 0, alors nous sortons de la boucle. Sauvegardons et testons. Voyez que le résultat que nous obtenons est bien celui escompté, à savoir que notre client a acheté trois produits. Nous avons vu dans cette vidéo les quatre boucles usuelles en Ruby, à savoir while, for, until et loop. Dans les applications Web, ces boucles ne sont pas les plus utilisées mais il est tout de même bon de les connaitre pour que, lorsque vous les rencontrerez, vous sachiez les utiliser.

L'essentiel de Ruby on Rails

Concevez des applications web évolutives et intemporelles avec Ruby on Rails. Installez l’environnement, réalisez un projet de stack overflow, enrichissez-le, etc.

6h08 (85 vidéos)
Aucun commentaire n´est disponible actuellement

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !