diff options
Diffstat (limited to 'src/content/chapter2_flow_control/lesson01_case_expressions/text.html')
-rw-r--r-- | src/content/chapter2_flow_control/lesson01_case_expressions/text.html | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/content/chapter2_flow_control/lesson01_case_expressions/text.html b/src/content/chapter2_flow_control/lesson01_case_expressions/text.html index 7e9ac11..b3e4000 100644 --- a/src/content/chapter2_flow_control/lesson01_case_expressions/text.html +++ b/src/content/chapter2_flow_control/lesson01_case_expressions/text.html @@ -1,7 +1,18 @@ <p> - Patterns in case expressions can also assign variables. + The case expression is the most common kind of flow control in Gleam code. It + is similar to <code>switch</code> in some other languages, but more powerful + than most. </p> <p> - When a variable name is used in a pattern the value that is matched against is - assigned to that name, and can be used in the body of that clause. + It allows the programmer to say "if the data has this shape then run this + code", a process called called <em>pattern matching</em>. +</p> +<p> + Gleam performs <em>exhaustiveness checking</em> to ensure that the patterns in + a case expression cover all possible values. With this you can have confidence + that your logic is up-to-date for the design of the data you are working with. +</p> +<p> + Try commenting out patterns or adding new redundant ones, and see what + problems the compiler reports. </p> |