Boucle Until
Fait partie de la section Fondamentaux du Journey Ruby de Coddy — leçon 45 sur 88.
La boucle until est l'opposé de la boucle while. Au lieu de s'exécuter tant qu'une condition est vraie, elle s'exécute jusqu'à ce qu'une condition devienne vraie. Considérez cela comme « continuez jusqu'à ce que cela se produise ».
count = 1
until count > 3
puts count
count += 1
endCeci affiche 1, 2, 3. La boucle continue tant que count > 3 est faux. Une fois que count devient 4, la condition est vraie, et la boucle s'arrête.
Comparez cela à la boucle while équivalente :
# Ces deux boucles font la même chose :
while count <= 3 # s'exécute tant que ceci est VRAI
until count > 3 # s'exécute jusqu'à ce que ceci soit VRAILa boucle until peut rendre votre code plus lisible lorsque vous attendez que quelque chose se produise. Voici un exemple de compte à rebours :
num = 5
until num == 0
puts num
num -= 1
end
puts "Liftoff!"Cela décompte de 5 à 1, puis affiche « Liftoff! » lorsque num atteint 0. Choisissez until quand cela rend votre intention plus claire, en particulier lorsque vous attendez qu'une condition spécifique se produise.
Défi
FacileLisez un nombre n à partir de l'entrée. Utilisez une boucle until pour afficher tous les nombres de 1 jusqu'à n, chacun sur sa propre ligne. Après avoir atteint n, affichez Done! sur une nouvelle ligne.
La boucle doit continuer jusqu'à ce que le compteur dépasse n.
L'entrée sera un entier unique représentant le nombre cible.
Par exemple, si l'entrée est 4, la sortie devrait être :
1
2
3
4
Done!Si l'entrée est 6, la sortie devrait être :
1
2
3
4
5
6
Done!Aide-mémoire
La boucle until s'exécute jusqu'à ce qu'une condition devienne vraie (l'opposé de while) :
count = 1
until count > 3
puts count
count += 1
end
# Affiche : 1, 2, 3Comparaison avec la boucle while :
while count <= 3 # s'exécute tant que ceci est TRUE
until count > 3 # s'exécute jusqu'à ce que ceci soit TRUEExemple de compte à rebours :
num = 5
until num == 0
puts num
num -= 1
end
puts "Liftoff!"Essayez vous-même
# Lire le nombre cible
n = gets.to_i
# Initialiser le compteur
counter = 1
# À FAIRE : Écrivez votre code ci-dessous
# Utiliser une boucle until pour afficher les nombres de 1 à n
# La boucle doit continuer jusqu'à ce que le compteur dépasse n
# Afficher "Done!" après la boucle
puts "Done!"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