1 do 2 let x = 1 3 val s = case x of 4 1 -> "1" 5 2 -> "2" 6 7 assert s == "1" 8 9 do 10 val x = 1 11 val y = 3 12 val s = case x + y of 13 2 -> "2" 14 3 -> "3" 15 4 -> "4" 16 17 assert s == "4" 18 19 do 20 let maybe_x : Option<u32> = Some 5 21 let maybe_y : Option<u32> = None 22 let s = case (maybe_x, maybe_y) of 23 None, None -> "none none" 24 Some x, None -> "$x none" 25 None, Some y -> "none $y" 26 Some x, _ -> "$x some" 27 28 assert s == "5 none" 29 30 do 31 let x = 1 32 val s = case x of 33 1 if false -> "false" 34 1 if true -> "true" 35 else -> "else" 36 37 assert s == "true" 38 39 do 40 let x = 1 41 case x 42 of 1 if false -> "false" 43 else 1 if true -> "true" 44 else -> "else" 45 |> { assert _ == "true" } 46 47 do 48 let x = 1 49 let s = case x 50 of 1 if false -> "false" 51 else 1 if true -> "true" 52 else -> "else" 53 54 assert s == "true" 55