Méthodes de tableaux
Fait partie de la section Fundamentals du Journey Rust de Coddy — leçon 61 sur 75.
Les tableaux regorgent de nombreuses méthodes (fonctionnalités). Pour accéder à une méthode, écrivez :
array.methodName(otherParameters)Voici une liste des méthodes de base :
len()- retourne le nombre d'éléments dans le tableaucontains(value)- vérifie si le tableau contient une valeur spécifique
is_empty()- vérifie si le tableau est videreverse()- inverse le tableau
Par exemple :
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
println!("Length: {}", length);
numbers.reverse()
// [50, 40, 30, 20, 10]Exemple de la méthode is_empty() :
let numbers: [i32; 0] = [];
let empty = numbers.is_empty();
println!("Is empty: {}", empty);Cela affichera :
Is empty: trueLors de l'utilisation de contains, vous devez passer une référence à la valeur que vous recherchez en utilisant &. Par exemple :
let numbers = [10, 20, 30, 40, 50];
let has_thirty = numbers.contains(&30);
println!("Contains 30: {}", has_thirty);
// Sortie : Contains 30: trueDéfi
FacileCréez une fonction nommée analyze_array qui reçoit un tableau de chaînes de caractères de taille 5 en argument. La méthode doit effectuer les opérations suivantes :
- Vérifiez si le tableau est vide en utilisant la méthode
is_empty()et affichez le résultat. - Vérifiez si le tableau contient la chaîne
"5"en utilisant la méthodecontains()et affichez le résultat. N'oubliez pas d'utiliser String et non str :"5".to_string() - Inversez le tableau et affichez-le
La sortie doit suivre exactement ce format :
Is empty: [true or false]
Contains 5: [true or false]
Reversed Elements:
[element1]
[element2]
...Aide-mémoire
Les tableaux possèdent des méthodes intégrées accessibles via la notation par point :
array.methodName(otherParameters)Méthodes de base des tableaux :
len()- retourne le nombre d'élémentscontains(value)- vérifie si le tableau contient une valeur spécifiqueis_empty()- vérifie si le tableau est videreverse()- inverse le tableau
Exemples :
let numbers = [10, 20, 30, 40, 50];
let length = numbers.len();
let has_thirty = numbers.contains(&30);
let empty = numbers.is_empty();
numbers.reverse(); // [50, 40, 30, 20, 10]Remarque : contains() nécessite une référence à la valeur en utilisant &.
Essayez vous-même
use std::io;
use std::convert::TryInto;
fn analyze_array(arr: &mut [String; 5]) {
// Écrivez le code ici
// Imprimer les éléments ligne par ligne
for element in arr.iter() {
println!("{}", element);
}
}
fn main() {
let mut input_str_arr = String::new();
io::stdin().read_line(&mut input_str_arr).unwrap();
let mut arr: [String; 5] = input_str_arr.split(',').map(String::from).collect::<Vec<String>>().try_into().unwrap();
analyze_array(&mut arr);
}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 Faux13Suite sur les tableaux
Tableaux de références mutablesMéthodes de tableauxRécapitulatif - Tableau de produitsRécapitulatif - Tableau inverséAffichage amélioré5Opé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