Menu
CoddyTech

Guide sur les Range

Fait partie de la section Fondamentaux du Journey Rust de Coddy. Leçon 65 sur 75.

Dans cette leçon, nous allons approfondir le fonctionnement de range.

Syntaxe de base des plages :

  • start..end - Crée une plage de start à end (exclu)
  • start..=end - Crée une plage de start à end (inclus)
  • ..end - Crée une plage allant jusqu’à end (exclu), sans valeur de début. Une boucle for ne peut pas l’utiliser, mais elle peut découper un tableau à partir de l’indice 0 : &arr[..3] correspond aux 3 premiers éléments
  • ..=end - Crée une plage allant jusqu’à end (inclus), sans valeur de début, utilisée de la même manière : &arr[..=3] correspond aux 4 premiers éléments
  • start.. - Crée une plage de start à l’infini
  • .. - Crée une plage de moins l’infini à plus l’infini

Inverser une plage avec .rev() :

  • (0..5).rev() - 4, 3, 2, 1, 0
  • (0..=5).rev() - 5, 4, 3, 2, 1, 0

Sauts par pas avec .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 croissante simple
for i in 0..5 { }
// Valeurs : 0, 1, 2, 3, 4
// Intervalle inclusif
for i in 0..=5 { }
// Valeurs : 0, 1, 2, 3, 4, 5
// Plage parcourue en sens inverse
for i in (0..5).rev() { }
// Valeurs : 4, 3, 2, 1, 0
// Avancer par pas de 2
for i in (0..10).step_by(2) { }
// Valeurs : 0, 2, 4, 6, 8
// Combine le parcours inverse et le pas
for i in (0..10).rev().step_by(3) { }
// Valeurs : 9, 6, 3, 0
challenge icon

Défi

Facile

On te donne deux tableaux, numbers1 et numbers2. Affiche une ligne pour chacun :

  • Tableau 1 : commence à la dernière position de numbers1 et recule de 3 positions à la fois (indices 25, 22, 19, ...), en affichant la valeur à chaque position.
  • Tableau 2 : parcours numbers2 du dernier élément au premier et affiche uniquement les valeurs divisibles par 4.

Affiche chaque valeur entre crochets, en plaçant , entre les valeurs et rien après la dernière :

Array 1: [26], [23], [20], ...
Array 2: [36], [36], ...

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
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux

Entraînez-vous par vous-même : Compilateur Rust en ligne