Menu
Coddy logo textTech

Itérer sur un vecteur

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 11 sur 66.

Maintenant que vous savez comment créer des vecteurs et accéder aux éléments individuels, apprenons à traiter chaque élément d'un vecteur de manière systématique. La boucle for est parfaite pour cette tâche, vous permettant de visiter chaque élément en séquence.

Voici la syntaxe de base pour itérer sur 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 au vecteur, vous permettant de lire chaque élément sans prendre la propriété du vecteur lui-même. Chaque itération vous donne accès à un élément à la fois via la variable de boucle name.

La boucle for gère automatiquement la vérification des limites pour vous. Contrairement à l'indexation manuelle, vous n'essaierez 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 n'importe quel 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 la plus idiomatique de traiter tous les éléments d'un vecteur lorsque vous avez besoin de lire leurs valeurs.

challenge icon

Défi

Facile

Écrivez une fonction sum_all_elements qui prend un vecteur numbers et retourne la somme de tous ses éléments.

Utilisez une boucle for pour itérer sur le vecteur et accumuler la somme de tous les éléments.

Paramètres :

  • numbers (Vec<i32>) : Le vecteur d'entiers à additionner

Retourne : La somme de tous les éléments du vecteur (i32)

Aide-mémoire

Pour itérer sur un vecteur, utilisez une boucle for avec une référence au vecteur :

let names = vec!["Alice", "Bob", "Charlie"];

for name in &names {
    println!("Hello, {}!", name);
}

Le symbole & avant le nom du vecteur crée une référence, vous permettant de lire chaque élément sans en prendre la possession (ownership). La boucle gère automatiquement la vérification des limites et parcourt exactement autant d'éléments que le vecteur en contient.

Ce modèle fonctionne avec n'importe quel type de vecteur :

let scores = vec![85, 92, 78, 90];

for score in &scores {
    println!("Score: {}", score);
}

Essayez vous-même

fn sum_all_elements(numbers: Vec<i32>) -> i32 {
    // Écrivez le code ici
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logic & Flow