Boucle infinie
Fait partie de la section Fondamentaux du Journey Rust de Coddy. Leçon 43 sur 75.
En Rust, des boucles infinies peuvent être créées à l’aide de loop ou de while true. Toutes deux s’exécutent jusqu’à ce qu’elles soient explicitement interrompues, par exemple avec break ou par la fin du programme.
Par exemple :
loop {
// Code à exécuter de manière répétée
if condition {
break; // Quitter la boucle si la condition est remplie
}
}La boucle continue jusqu’à ce qu’elle atteigne un break. Elle est utile pour les programmes qui doivent fonctionner en continu, comme les serveurs ou les appareils.
Voici un exemple de boucle infinie qui affiche des nombres jusqu’à ce qu’une condition spécifique soit remplie :
let mut count = 0;
loop {
println!("Count: {}", count);
count += 1;
if count > 5 {
break;
// Quitter la boucle lorsque count est supérieur à 5
}
}Dans cet exemple, la boucle affichera les nombres de 0 à 5, puis se terminera lorsque count atteindra 6.
Défi
DébutantÉcrivez un programme Rust qui simule un simple compteur. Le programme doit utiliser une boucle infinie pour incrémenter continuellement un compteur et afficher sa valeur. La boucle doit se terminer lorsque le compteur atteint une valeur spécifique déterminée par l’entrée.
Étapes du programme :
- Initialisez une variable mutable
counterà 0. - Utilisez une boucle infinie (
loop) pour incrémenter continuellementcounterde 1 à chaque itération. - Dans la boucle, affichez la valeur actuelle de
counter. - Vérifiez si
counterest égal à la valeur de terminaison fournie par l’utilisateur. Si c’est le cas, sortez de la boucle.
Essayez vous-même
use std::io;
fn main() {
let mut input = String::new();
io::stdin().read_line(&mut input).unwrap();
let limit: i32 = input.trim().parse().unwrap();
let mut counter = 0;
// Écrivez votre code ci-dessous
}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 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Afficher dans la consoleLire la saisie utilisateurRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 33Variables - Partie 2
Déclaration de typeConventions de nommageInférence de typeRécapitulatif - Initialiser des variablesConversion de type9Boucles
Boucle For sur une sérieBoucle WhileBreakContinueBoucles imbriquéesÉtiquettes de boucleBoucle infinieRécapitulatif - Entrée dynamique12Bases des tableaux
Déclaration de tableauxTableau comme paramètreAccès aux élémentsModification de tableauxRécapitulatif - Affichage formaté d'un tableau15Opérations sur les chaînes
Méthodes de chaînesMacro format!Conversion de chaînesRécapitulatif - FormatEntraînez-vous par vous-même : Compilateur Rust en ligne