Les boucles en tant qu'expressions
Fait partie de la section Logique & Flux du Journey Rust de Coddy. Leçon 5 sur 66.
Dans la plupart des langages de programmation, les boucles sont des instructions qui exécutent du code de manière répétée. Mais Rust possède une fonctionnalité unique : les boucles peuvent également être des expressions qui renvoient une valeur. Cela signifie que tu peux affecter le résultat d’une boucle à une variable.
Pour renvoyer une valeur depuis une boucle, vous utilisez break suivi de la valeur que vous souhaitez renvoyer :
let result = loop {
// vérification de certaines conditions
if condition_met {
break 42; // quitter la boucle et retourner 42
}
};Voici un exemple pratique qui trouve le premier nombre pair en commençant à 10 :
let mut counter = 10;
let first_even = loop {
if counter % 2 == 0 {
break counter; // retourne le nombre pair
}
counter += 1;
};
println!("First even number: {}", first_even);La boucle continue jusqu’à ce qu’elle trouve un nombre pair, puis utilise break counter pour quitter la boucle et renvoyer ce nombre. La valeur renvoyée est affectée à first_even.
Défi
FacileVous recevrez un nombre de départ en entrée. Lisez l’entrée, convertissez-la en entier et utilisez une expression loop pour trouver le premier nombre divisible par 7 à partir de ce nombre.
Exigences :
- Utilisez une expression
loopqui renvoie une valeur - Commencez la vérification à partir du nombre d’entrée
- Trouvez le premier nombre divisible par 7 (le reste est égal à 0 lorsqu’il est divisé par 7)
- Utilisez
breakpour renvoyer le nombre trouvé depuis la boucle - Affichez le résultat
Entrée : Un entier unique représentant le nombre de départ
Sortie : Affichez le premier nombre divisible par 7 à partir du nombre d’entrée
Essayez vous-même
use std::io;
fn main() {
// Lire l'entrée
let mut input = String::new();
io::stdin().read_line(&mut input).expect("Failed to read line");
let start_number: i32 = input.trim().parse().expect("Invalid input");
// TODO: Écrivez votre code ci-dessous
// Utilisez une expression de boucle pour trouver le premier nombre divisible par 7
// Afficher le résultat
// println!("{}", result);
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Structures de contrôle avancées
L'expression 'match'Filtrage de plusieurs valeursFiltrage d'intervallesL'expression 'if let'Les boucles en tant qu'expressionsRécapitulatif - Analyseur de commandes simple4Regrouper des données avec les structures
Qu'est-ce qu'une structure ?Aperçu des structuresAccéder aux champs d'une structureStructures mutablesLes structures comme paramètres de fonctionStructures tupleRécapitulatif - Créer une structure Book2Introduction aux vecteurs
Qu'est-ce qu'un vecteur ?Créer un vecteurAjouter des éléments avec pushAccéder aux éléments d'un vecteurItérer sur un vecteurItération mutableSupprimer des élémentsRécapitulatif - Suivi de score basique5Paires clé-valeur avec les Hash Maps
Qu'est-ce qu'une Hash Map ?Créer une Hash MapInsérer des paires clé-valeurAccéder aux valeursParcourir une Hash MapMettre à jour une valeurSupprimer une paireRécapitulatif - Compteur de mots8Projet : Inventaire d'articles simple
Configuration du projetAjouter un articleVérifier le stockVendre un articleAssembler le tout3Liste de tâches en ligne de commande
Configuration du projetAjouter une tâcheAfficher toutes les tâchesSupprimer une tâcheCode finalEntraînez-vous par vous-même : Compilateur Rust en ligne