Modification de tableaux
Fait partie de la section Fundamentals du Journey Rust de Coddy — leçon 58 sur 75.
En plus d'accéder aux éléments d'un tableau, vous pouvez également les modifier. Pour modifier un élément spécifique, vous devez d'abord utiliser mut pour rendre un tableau modifiable, puis vous pouvez lui assigner une nouvelle valeur en utilisant son index.
Voici un exemple :
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Sortie :
apple, orange, cherrybanana a été changé en orange.
Défi
FacileCréez un programme qui reçoit 3 entrées :
- La première entrée est une chaîne de valeurs séparées par une virgule (par exemple
1,2,3,4,5) de longueur 5. - La deuxième entrée est un index
- La troisième entrée est un nouvel élément
Le code de départ convertit déjà la chaîne séparée par des virgules en un tableau mutable appelé arr — vous pouvez travailler directement avec celui-ci sans écrire de code de conversion.
Le programme affichera un tableau modifié en remplaçant l'élément à l'index stocké dans la deuxième entrée par la valeur de la troisième entrée.
Aide-mémoire
Pour modifier les éléments d'un tableau, le tableau doit être déclaré avec mut :
let mut my_array = ["apple", "banana", "cherry"];
my_array[1] = "orange";
println!("{}, {}, {}", my_array[0], my_array[1], my_array[2]);Cela change l'élément à l'index 1 de "banana" à "orange".
Essayez vous-même
use std::io;
use std::convert::TryInto;
fn main() {
let mut input_str_arr = String::new();
let mut input_index = String::new();
let mut new_element = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
io::stdin().read_line(&mut input_index).unwrap();
io::stdin().read_line(&mut new_element).unwrap();
let new_element = new_element.trim().to_string();
let index: usize = input_index.trim().parse().unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
// Écrivez votre code ci-dessous
// Utilisez arr, index et new_element pour résoudre le défi
for i in 0..arr.len() {
print!("{} ", arr[i]);
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Entrées/Sorties de base
Afficher dans la consoleLire la saisie utilisateurRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 33Variables - Partie 2
Déclaration de typeConventions de nommageInférence de typeRécapitulatif - Initialiser des variablesConversion de type9Boucles
Boucle For sur une sérieBoucle WhileBreakContinueBoucles imbriquéesÉtiquettes de boucleBoucle infinieRécapitulatif - Entrée dynamique12Bases des tableaux
Déclaration de tableauxTableau comme paramètreAccès aux élémentsModification de tableauxRécapitulatif - Affichage formaté d'un tableau15Opérations sur les chaînes
Méthodes de chaînesMacro format!Conversion de chaînesRécapitulatif - Format