Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Les motifs et le filtrage

Les motifs sont une syntaxe spéciale en Rust permettant de faire correspondre la structure des types, qu’ils soient complexes ou simples. L’utilisation de motifs en conjonction avec les expressions match et d’autres constructions vous donne davantage de contrôle sur le flux d’exécution d’un programme. Un motif est constitué d’une combinaison des éléments suivants :

  • Des littéraux
  • Des tableaux, enums, structures ou tuples déstructurés
  • Des variables
  • Des jokers (wildcards)
  • Des espaces réservés (placeholders)

Quelques exemples de motifs incluent x, (a, 3) et Some(Color::Red). Dans les contextes où les motifs sont valides, ces composants décrivent la forme des données. Notre programme compare ensuite les valeurs aux motifs pour déterminer si les données ont la forme correcte pour continuer l’exécution d’un morceau de code particulier.

Pour utiliser un motif, nous le comparons à une valeur. Si le motif correspond à la valeur, nous utilisons les parties de la valeur dans notre code. Rappelez-vous les expressions match du chapitre 6 qui utilisaient des motifs, comme l’exemple de la machine à trier les pièces de monnaie. Si la valeur correspond à la forme du motif, nous pouvons utiliser les éléments nommés. Sinon, le code associé au motif ne s’exécutera pas.

Ce chapitre est une référence sur tout ce qui concerne les motifs. Nous couvrirons les endroits valides pour utiliser des motifs, la différence entre les motifs réfutables et irréfutables, et les différents types de syntaxe de motifs que vous pourriez rencontrer. À la fin du chapitre, vous saurez comment utiliser les motifs pour exprimer de nombreux concepts de manière claire.