menu_book Course Curriculum (F#) expand_more
Union case patterns
Learn Union case patterns in F# through a focused explanation, a dedicated topic-specific example, an engineering boundary, and a mastery check.
Union case patterns is a focused F# lesson inside Pattern Matching. The example uses the construct named in the lesson directly rather than reusing a generic placeholder.
Trace the example from its inputs through Union case patterns and identify the behavior that would change if that construct were removed or replaced. Pay attention to the language-specific rules shown by the syntax, because neighboring lessons intentionally exercise different mechanisms.
Topic-specific example
type Payment =
| Cash of decimal
| Card of last4:string * amount:decimal
let payment = Card("4242", 89.5M)
printfn "%A" payment
let check = Map.ofList [("a",1);("b",2)]
printfn "%A" check.["b"]
For Union case patterns, test one realistic boundary: empty data, invalid input, unavailable resources, lifetime/cleanup, type constraints, or concurrency timing where applicable. A successful happy path is not enough to prove the construct is used correctly.