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.