📜 Récap’
Pattern matching
Brique fondamentale de F♯
Combine "comparaison de structure de données" et "déconstruction"
S'utilisent presque partout :
match expression
et blocfunction
bloc
try/with
let binding
, y.c. paramètre de fonction
Peut s'abstraire en fonction
fold
associée à un type union
Patterns
Constant - Identifier - Wilcard
1
, Color.Red
- Some 1
- _
Collection : Cons - List - Array
head :: tail
- [1; 2]
Product type : Record - Tuple
{ A = a }
- a, b
Type Test
:? Subtype
Logique : OR, AND
1 | 2
, P1 & P2
Variables - Alias
head :: _
- (0, 0) as origin
+ Les guards when
dans les match expressions
Active Patterns
Extension du pattern matching
Basés sur fonction + metadata → Citoyens de 1ère classe
4 types : total simple/multiple, partiel (simple), paramétré
Un peu tricky Ă comprendre mais on s'habitue vite
S'utilisent pour :
Ajouter de la sémantique sans recourir aux types union
Simplifier / factoriser des guards
Wrapper des méthodes de la BCL
Extraire un ensemble de données d'un objet
...
Compléments
Exercices
Collatz Conjecture (easy)
Darts (easy)
Queen Attack (medium)
Robot Name (medium)
Dernière mise à jour
Cet article vous a-t-il été utile ?