Créer un vecteur
Fait partie de la section Logique & Flux du Journey Rust de Coddy. Leçon 8 sur 66.
Maintenant que tu comprends ce que sont les vecteurs, apprenons à les créer. Rust propose deux façons principales de créer un vecteur, chacune adaptée à des situations différentes.
La première méthode utilise Vec::new() pour créer un vecteur vide auquel tu pourras ajouter des éléments plus tard :
let mut numbers = Vec::new();Remarque que nous utilisons mut, car nous voudrons probablement ajouter des éléments à ce vecteur vide plus tard. Rust ne peut pas toujours déterminer le type d’un vecteur vide ; tu devras donc peut-être le spécifier explicitement :
let mut numbers: Vec<i32> = Vec::new();La deuxième méthode utilise la macro vec![] pour créer un vecteur avec des valeurs initiales :
let numbers = vec![1, 2, 3, 4, 5];La macro vec![] est plus pratique lorsque tu connais les valeurs de départ. Rust peut déterminer automatiquement le type à partir des valeurs que tu fournis, donc aucune annotation de type n’est nécessaire. Ce vecteur contient cinq entiers et est prêt à être utilisé immédiatement.
La macro vec![] prend également en charge une syntaxe de répétition pour créer un vecteur rempli de la même valeur. Utilisez vec![value; n] pour créer un vecteur comportant n éléments, chacun défini sur value :
let zeros = vec![0; 5]; // [0, 0, 0, 0, 0]
let tens = vec![10; 3]; // [10, 10, 10]Cela est particulièrement utile lorsque vous voulez créer un vecteur d’une taille précise déterminée à l’exécution, par exemple à partir d’une saisie utilisateur :
let n = 4;
let data = vec![10; n]; // [10, 10, 10, 10]Les deux approches créent le même type de vecteur : le choix dépend de la présence de valeurs initiales ou de votre intention de construire le vecteur progressivement.
Défi
FacileTu recevras en entrée un nombre représentant le nombre d’éléments que doit contenir un vecteur. Lis l’entrée, convertis-la en entier et crée un vecteur contenant ce nombre d’éléments, chacun ayant la valeur 10.
Exigences :
- Lis l’entrée et convertis-la en entier
- Crée un vecteur à l’aide de la macro
vec![] - Le vecteur doit contenir le nombre d’éléments spécifié
- Chaque élément doit avoir la valeur
10 - Affiche chaque élément sur une ligne distincte
Entrée : Un entier représentant le nombre d’éléments
Sortie : Affiche chaque élément du vecteur sur une ligne distincte
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 n: usize = input.trim().parse().expect("Invalid input");
// TODO: Écrivez votre code ci-dessous
// Créer un vecteur de n éléments, chacun ayant la valeur 10
// Afficher chaque élément sur une ligne distincte
}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