Menu
CoddyTech

Instruction Match

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

L’expression match vous permet de comparer une valeur à une série de motifs et d’exécuter du code en fonction du motif correspondant.

Voici la structure de base d’une expression match :

match variable {
	pattern1 => expression1,
	pattern2 => expression2,
	// ... autres motifs
	_ => default_expression,
}

Le mot-clé match est suivi de la valeur que tu veux tester.

Chaque branche du match se compose d’un motif suivi de => et du code à exécuter.

Le trait de soulignement _ est le cas par défaut, qui correspond à tout ce qui ne correspond à aucun autre motif.

Voici un exemple :

let day = 3;
let day_name = match day {
	1 => "Monday",
	2 => "Tuesday",
	3 => "Wednesday",
	// ... d'autres motifs,
	_ => "Invalid day",
};

Pour plusieurs lignes de code dans une branche, utilise un bloc :

let day = 3;
let day_name = match day {
	1 => {
		println!("First day of the week!");
		"Monday"
	},
	2 => "Tuesday",
	// ... autres cas
	_ => "Invalid day",
};

Vous pouvez faire correspondre plusieurs motifs à l’aide de | :

let day = 3;
let day_type = match day {
	1 | 2 | 3 | 4 | 5 => "Weekday",
	6 | 7 => "Weekend",
	_ => "Invalid day",
};

Les expressions match en Rust doivent être exhaustives, ce qui signifie qu’elles doivent couvrir toutes les valeurs possibles. Le compilateur vérifiera cela pour toi.

challenge icon

Défi

Débutant

Crée un programme qui prend un numéro de mois (1 pour janvier, 2 pour février, etc.) et affiche la saison correspondante. Utilise une instruction match pour la logique.

Les saisons et les mois correspondants sont :

  • "Winter" : décembre (12), janvier (1), février (2)
  • "Spring" : mars (3), avril (4), mai (5)
  • "Summer" : juin (6), juillet (7), août (8)
  • "Autumn" : septembre (9), octobre (10), novembre (11)

Assigne ces chaînes exactes en anglais à season, afin que le programme affiche, par exemple, status = Spring.

Essayez vous-même

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).unwrap();
    let month: i32 = input.trim().parse().unwrap();
    // Écrivez votre code ci-dessous
    let season = 

    // Ne modifiez pas la ligne ci-dessous
    println!("status = {}", season);
}
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