Guide sur les Range
Fait partie de la section Fundamentals du Journey Rust de Coddy. Leçon 65 sur 75.
Dans cette leçon, nous explorerons plus en détail le fonctionnement de range.
Syntaxe de base des plages :
start..end- Crée une plage de start à end (exclusif)start..=end- Crée une plage de start à end (inclusif)
..end- Crée une plage de 0 à end (exclusif)..=end- Crée une plage de 0 à end (inclusif)
start..- Crée une plage allant de start à l'infini..- Crée une plage allant de l'infini négatif à l'infini positif
Inverser une plage avec .rev() :
(0..5).rev()- 4, 3, 2, 1, 0(0..=5).rev()- 5, 4, 3, 2, 1, 0
Sauts d'étape en utilisant .step_by(n) :
(0..10).step_by(2)- 0, 2, 4, 6, 8(0..10).rev().step_by(2)- 9, 7, 5, 3, 1
Par exemple :
// Plage avant de base
for i in 0..5 { }
// Valeurs : 0, 1, 2, 3, 4// Plage inclusive
for i in 0..=5 { }
// Valeurs : 0, 1, 2, 3, 4, 5// Intervalle inversé
for i in (0..5).rev() { }
// Valeurs : 4, 3, 2, 1, 0// Par pas de 2
for i in (0..10).step_by(2) { }
// Valeurs : 0, 2, 4, 6, 8// Combiner l'inversion et le pas
for i in (0..10).rev().step_by(3) { }
// Valeurs : 9, 6, 3, 0Défi
FacileCréez un programme qui commence avec deux tableaux de nombres et affiche pour le premier tableau tous les nombres à l'envers par bonds de 3 à travers les positions du tableau, et pour le second, il affiche tous les nombres divisibles par 4 dans l'ordre inverse. Affichez au format suivant :
Array 1: [1], [2], [3], ...
Array 2: [1], [2], [3], ...Essayez vous-même
fn main() {
let numbers1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26];
let numbers2 = [17, 53, 24, 77, 84, 98, 24, 36, 89, 31, 36];
print!("Array 1: ");
// Écrivez votre code ici
println!();
print!("Array 2: ");
// Écrivez votre code ici
}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 311Fonctions
Déclaration de fonctionsParamètres et argumentsValeurs de retourValeurs de retour multiplesRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation14Parcourir les tableaux
Guide sur les RangeBoucle for amélioréeEmprunt dans une boucleOpérations courantes sur les tableaux3Variables - 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 - FormatEntraînez-vous par vous-même : Compilateur Rust en ligne