Itérer sur un vecteur
Fait partie de la section Logique & Flux du Journey Rust de Coddy. Leçon 11 sur 66.
Maintenant que tu sais comment créer des vecteurs et accéder à chaque élément, apprenons à traiter systématiquement tous les éléments d’un vecteur. La boucle for est parfaite pour cette tâche et te permet de parcourir chaque élément dans l’ordre.
Voici la syntaxe de base pour parcourir un vecteur :
let names = vec!["Alice", "Bob", "Charlie"];
for name in &names {
println!("Hello, {}!", name);
}Remarquez le & avant names : cela crée une référence vers le vecteur, ce qui vous permet de lire chaque élément sans prendre possession du vecteur lui-même. À chaque itération, vous accédez à un élément à la fois par l’intermédiaire de la variable de boucle name.
La boucle for gère automatiquement la vérification des limites pour toi. Contrairement à l’indexation manuelle, tu n’essaieras jamais accidentellement d’accéder à un élément qui n’existe pas. La boucle parcourra exactement autant d’éléments que le vecteur en contient, ce qui la rend à la fois sûre et pratique.
Vous pouvez utiliser ce modèle avec tout type de vecteur :
let scores = vec![85, 92, 78, 90];
for score in &scores {
println!("Score: {}", score);
}Cette approche est la manière la plus courante et idiomatique de traiter tous les éléments d’un vecteur lorsque vous devez lire leurs valeurs.
Défi
FacileÉcrivez une fonction sum_all_elements qui prend un vecteur numbers et renvoie la somme de tous ses éléments.
Utilisez une boucle for pour parcourir le vecteur et cumuler la somme de tous les éléments.
Paramètres :
numbers(Vec<i32>) : Le vecteur d’entiers à additionner
Renvoie : La somme de tous les éléments du vecteur (i32)
Essayez vous-même
fn sum_all_elements(numbers: Vec<i32>) -> i32 {
// Écrivez le code ici
}
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