diff options
author | Louis Pilfold <louis@lpil.uk> | 2024-01-18 21:51:41 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-01-18 21:51:41 +0000 |
commit | 3edd3a3de2500e04fc4e57c709d4667ce4689994 (patch) | |
tree | 0495d12fa65152b082743089b95806afbec9fb27 /src/content/chapter2_flow_control | |
parent | 1b79f5acb0f95e89a0c80a37e6350c2e7f4f1af3 (diff) | |
download | tour-3edd3a3de2500e04fc4e57c709d4667ce4689994.tar.gz tour-3edd3a3de2500e04fc4e57c709d4667ce4689994.zip |
Various fixes
Thank you @giacomocavalieri!
Diffstat (limited to 'src/content/chapter2_flow_control')
4 files changed, 19 insertions, 24 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> diff --git a/src/content/chapter2_flow_control/lesson02_variable_patterns/text.html b/src/content/chapter2_flow_control/lesson02_variable_patterns/text.html index b3e4000..7e9ac11 100644 --- a/src/content/chapter2_flow_control/lesson02_variable_patterns/text.html +++ b/src/content/chapter2_flow_control/lesson02_variable_patterns/text.html @@ -1,18 +1,7 @@ <p> - 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. + Patterns in case expressions can also assign variables. </p> <p> - 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. + 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. </p> diff --git a/src/content/chapter2_flow_control/lesson03_string_patterns/text.html b/src/content/chapter2_flow_control/lesson03_string_patterns/text.html index 0dd3274..11e4c35 100644 --- a/src/content/chapter2_flow_control/lesson03_string_patterns/text.html +++ b/src/content/chapter2_flow_control/lesson03_string_patterns/text.html @@ -1,9 +1,9 @@ <p> When pattern matching on strings the <code><></code> operator can be used to match on strings with a specific prefix. -</p> +</p> <p> The pattern <code>"hello " <> name</code> matches any string that starts with - <code>"hello "</code> and asigns the rest of the string to the variable + <code>"hello "</code> and assigns the rest of the string to the variable <code>name</code>. </p> diff --git a/src/content/chapter2_flow_control/lesson09_alternative_patterns/text.html b/src/content/chapter2_flow_control/lesson09_alternative_patterns/text.html index 10ad731..25421f4 100644 --- a/src/content/chapter2_flow_control/lesson09_alternative_patterns/text.html +++ b/src/content/chapter2_flow_control/lesson09_alternative_patterns/text.html @@ -3,11 +3,6 @@ <code>|</code> operator. If any of the patterns match then the clause matches. </p> <p> - When matching on multiple subjects there must be the same number of patterns - as there are subjects. Try removing one of the <code>_,</code> sub-patterns to - see the compile time error that is returned. -</p> -<p> If a pattern defines a variable then all of the alternative patterns for that clause must also define a variable with the same name and same type. </p> |