Pattern matching Pattern matching

1. Définition

Le pattern matching (filtrage par motif) est utilisé pour effectuer différentes actions selon la valeur de l’objet observé. Il se construit avec la structure match et chaque ligne correspond au mot-clé case. On peut le rapprocher de la structure switch en Java. Il peut se faire sur beaucoup plus d’éléments et présente trois différences majeures.

Premièrement, un match est une expression en Scala et de ce fait renvoie toujours un résultat.

Deuxièmement, si une condition est rencontrée, le match est terminé et on ne passe pas à la condition suivante, il n’y a pas besoin du mot-clé break pour sortir de la structure.

Troisièmement, si aucune des conditions n’est remplie, cela résulte en une exception de type MatchError. Il faut donc bien faire attention à spécifier tous les cas possibles.

Chaque cas peut s’écrire sur une ou plusieurs lignes, auquel cas, comme dans une méthode ou une fonction, c’est la dernière ligne qui fait office de résultat. Dans le cas où le cas fait plusieurs lignes, on n’est pas obligé de l’entourer d’accolades ; cela reste à la discrétion du développeur.

2. Pattern constructeurs Pattern matching:constructeurs

Dans un pattern matching, une instance de case class peut être décomposée soit avec des variables, soit en spécifiant...

couv_EPSCALA.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Case object
Suivant
Option