Boucle While
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 40 sur 88.
La boucle for fonctionne très bien quand vous savez exactement combien de fois répéter. Mais que se passe-t-il si vous voulez continuer à boucler jusqu'à ce qu'une certaine condition change ? C'est là que la boucle while intervient.
Une boucle while continue de s'exécuter tant que sa condition reste vraie :
count = 1
while count <= 3
puts count
count += 1
endCeci affiche 1, 2 et 3. La boucle vérifie la condition avant chaque itération. Une fois que count devient 4, la condition count <= 3 est fausse, et la boucle s'arrête.
La différence clé par rapport à une boucle for est que vous contrôlez quand la boucle se termine en modifiant une variable à l'intérieur de la boucle. Si vous oubliez de mettre à jour la variable, la boucle s'exécute indéfiniment ! Voici un exemple de compte à rebours :
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Ceci décompte de 5 à 1, puis affiche "Done!" une fois la boucle terminée. La boucle while est particulièrement utile lorsque vous ne savez pas à l'avance de combien d'itérations vous aurez besoin.
Défi
FacileLisez un nombre n depuis l'entrée. Utilisez une boucle while pour afficher tous les nombres de n jusqu'à 1, chacun sur sa propre ligne. Une fois le compte à rebours terminé, affichez Blastoff! sur une nouvelle ligne.
L'entrée sera un entier unique représentant le nombre de départ pour le compte à rebours.
Par exemple, si l'entrée est 5, la sortie devrait être :
5
4
3
2
1
Blastoff!Aide-mémoire
Une boucle while continue de s'exécuter tant que sa condition reste vraie :
count = 1
while count <= 3
puts count
count += 1
endLa boucle vérifie la condition avant chaque itération. Vous devez mettre à jour la variable à l'intérieur de la boucle pour que la condition finisse par devenir fausse, sinon la boucle s'exécutera indéfiniment.
Exemple de compte à rebours :
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Utilisez les boucles while lorsque vous ne savez pas à l'avance de combien d'itérations vous aurez besoin, ou lorsque vous voulez boucler jusqu'à ce qu'une condition change.
Essayez vous-même
# Lire le nombre de départ
n = gets.chomp.to_i
# À FAIRE : Écrivez votre code ci-dessous
# Utilisez une boucle while pour afficher les nombres de n jusqu'à 1
# Ensuite, affichez "Blastoff!"Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage de facture
Message de bienvenueSaisie de l'utilisateur10FizzBuzz avec une variante
Présentation du jeuLa méthode FizzBuzz2Variables et types de données
Nombres et variablesType de données StringType de données BooleanType de données SymbolVérification des types de donnéesConventions de nommageRécapitulatif - Création de variables5Prise de décision
Instruction IfIf - ElseRécapitulatif - Calculatrice simpleIf - Else imbriquésInstruction Unless8Boucles
Boucle For avec des intervallesBoucle WhileBreakNextRécapitulatif - FactorielleBoucle TimesBoucle UntilBoucles imbriquéesRécapitulatif - Entrée dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6Entrées/Sorties de base
Sortie avec putsSortie avec print et pSortie avec des variablesEntrée avec getsLa méthode chompConversion de typesRécapitulatif - Calculateur d'âgeRécapitulatif - Vrai ou Faux9Méthodes
Définir une méthodeParamètres de méthodeValeurs de retourRécapitulatif - Méthode SigmaRécapitulatif - Méthode de validationValeurs de paramètres par défaut12Itérer sur les collections
L'itérateur EachEach avec indexItérer sur les chaînes de caractèresMap et Collect