Indexer et parcourir
Accédez aux éléments et parcourez-les.
Indexer et parcourir est une leçon Learn Rust Coding gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn Rust Coding, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn Rust Coding comprend 4 leçons au total.
Lire par indice
Chaque élément d’un vecteur possède un numéro de position appelé indice. Les indices commencent à 0 ; le premier élément se trouve donc à l’indice 0.
Lisez un élément avec des crochets, par exemple v[0] pour obtenir la première valeur.
fn main() {
let v = vec![100, 200, 300];
println!("first = {}", v[0]);
println!("third = {}", v[2]);
}Paniques en cas de dépassement des limites
Accéder à un indice situé après la fin d’un vecteur provoque une panique et arrête le programme. Pour un vecteur de longueur 3, les seuls indices valides sont 0, 1 et 2.
Demander v[5] ici provoquerait un plantage ; vérifiez donc toujours que l’indice est dans les limites.
Accès sûr avec get
La méthode get renvoie une valeur Option au lieu de provoquer une panique. Vous obtenez Some(value) si l’indice existe, ou None s’il est hors limites.
Vous pouvez ainsi gérer élégamment l’absence d’un élément.
fn main() {
let v = vec![1, 2, 3];
match v.get(5) {
Some(x) => println!("got {}", x),
None => println!("no such index"),
}
}Combien d’éléments ?
La méthode len donne le nombre d’éléments. Le dernier indice valide est toujours len - 1.
Connaître la longueur vous aide à parcourir le vecteur sans risque ou à vérifier les limites avant un accès par indice.
fn main() {
let v = vec![5, 6, 7, 8];
println!("length = {}", v.len());
println!("last = {}", v[v.len() - 1]);
}Parcourir les valeurs
La manière la plus claire de visiter chaque élément consiste à utiliser une boucle for sur une référence vers le vecteur. L’utilisation de &v emprunte le vecteur, qui reste ainsi utilisable ensuite.
À chaque itération, n est lié à une référence vers un élément.
fn main() {
let v = vec![2, 4, 6];
for n in &v {
println!("value: {}", n);
}
}Parcourir avec l’indice
Lorsque vous avez également besoin de la position, appelez iter().enumerate(). Cette méthode produit des paires (index, value) à chaque étape.
C’est idéal pour un affichage numéroté ou pour des règles qui dépendent de la position.
fn main() {
let v = vec!["a", "b", "c"];
for (i, item) in v.iter().enumerate() {
println!("{}: {}", i, item);
}
}Modifier chaque élément
Pour modifier les valeurs sur place, parcourez &mut v et le vecteur doit être mut. Chaque n est une référence mutable ; vous devez donc la déréférencer avec * pour lui affecter une valeur.
Ici, chaque élément est doublé.
fn main() {
let mut v = vec![1, 2, 3];
for n in &mut v {
*n *= 2;
}
println!("{:?}", v);
}Additionner un vecteur
Les itérateurs facilitent les calculs. La méthode iter().sum() additionne tous les éléments.
Rust doit connaître le type du résultat ; nous indiquons donc que le total est de type i32.
fn main() {
let v = vec![10, 20, 30];
let total: i32 = v.iter().sum();
println!("sum = {}", total);
}Premier et dernier
Les méthodes first() et last() renvoient des références Option vers les extrémités du vecteur. Elles renvoient None lorsque le vecteur est vide.
Leur utilisation évite les calculs manuels d’indices et les plantages dus aux accès hors limites.
fn main() {
let v = vec![7, 8, 9];
println!("{:?}", v.first());
println!("{:?}", v.last());
}Rechercher avec contains
Pour vérifier qu’une valeur est présente, utilisez contains. Cette méthode reçoit une référence vers la valeur et renvoie un booléen.
Elle parcourt le vecteur et constitue un moyen rapide de vérifier l’appartenance d’une valeur.
fn main() {
let v = vec![3, 6, 9];
println!("has 6? {}", v.contains(&6));
println!("has 5? {}", v.contains(&5));
}Extraire une tranche
Une tranche emprunte une partie d’un vecteur à l’aide d’une plage, par exemple &v[1..3]. Le début est inclus et la fin est exclue.
Les tranches vous permettent de travailler avec une fenêtre d’éléments sans les copier.
fn main() {
let v = vec![10, 20, 30, 40];
let middle = &v[1..3];
println!("{:?}", middle);
}Vérification rapide
Vérifiez votre compréhension des indices et des itérateurs.
Récapitulatif
Vous avez lu des éléments par indice, y avez accédé de manière sûre avec get, et les avez parcourus avec for, enumerate et &mut.
Vous avez également utilisé sum, first, last, contains et les tranches. Vous allez maintenant faire grandir et rétrécir les vecteurs.
Questions Fréquemment Posées
La leçon « Indexer et parcourir » est-elle gratuite ?
Oui — le texte complet de « Indexer et parcourir » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn Rust Coding, passe à CoddyKit PRO. Le cours Learn Rust Coding comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Indexer et parcourir » ?
Accédez aux éléments et parcourez-les. Tu pratiques Learn Rust Coding avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Learn Rust Coding ?
Aucune expérience préalable n'est requise. Learn Rust Coding sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Indexer et parcourir » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Learn Rust Coding ?
Oui. Chaque leçon Learn Rust Coding inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Créer et remplir des vecteurs
- Indexer et parcourir
- Agrandir et réduire
- Vecteurs de structures