Les motifs et le filtrage par motif
Les motifs sont une syntaxe spéciale de Rust permettant de filtrer selon la
structure des types, qu'elle soit simple ou complexe. L'utilisation de motifs
conjointement avec des expressions match
et d'autres constructions vous donne
davantage de maîtrise sur le flux de contrôle de votre programme. Un motif est
constitué d'une combinaison de :
- littéraux
- tableaux de structures, énumérations, structures ou tuples
- variables
- jokers
- espaces réservés
Ces composants décrivent la forme de la donnée avec laquelle nous travaillons, que nous comparons alors à différents motifs de valeurs pour déterminer si notre programme dispose de la donnée appropriée pour exécuter une partie spécifique de code.
Pour utiliser un motif, nous le comparons à une certaine valeur. Si le motif
correspond à la valeur, nous utilisons les éléments présents dans la valeur
pour notre code. Rappelez-vous que les expressions match
du chapitre 6
utilisaient les motifs, comme pour la machine à trier la monnaie par exemple.
Si la valeur correspondait à la forme d'un motif, nous pouvions utiliser le nom de
la pièce. Sinon, le code associé au motif n'était pas exécuté.
Ce chapitre sert de référence pour tout ce qui concerne les motifs. Nous allons voir les moments appropriés pour utiliser les motifs, les différences entre les motifs réfutables et irréfutables ainsi que les différentes syntaxes de motifs que vous pouvez rencontrer. A la fin de ce chapitre, vous saurez comment utiliser les motifs pour exprimer clairement de nombreux concepts.