aboutsummaryrefslogtreecommitdiff
path: root/src/content/chapter2_flow_control
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2024-01-18 21:51:41 +0000
committerLouis Pilfold <louis@lpil.uk>2024-01-18 21:51:41 +0000
commit3edd3a3de2500e04fc4e57c709d4667ce4689994 (patch)
tree0495d12fa65152b082743089b95806afbec9fb27 /src/content/chapter2_flow_control
parent1b79f5acb0f95e89a0c80a37e6350c2e7f4f1af3 (diff)
downloadtour-3edd3a3de2500e04fc4e57c709d4667ce4689994.tar.gz
tour-3edd3a3de2500e04fc4e57c709d4667ce4689994.zip
Various fixes
Thank you @giacomocavalieri!
Diffstat (limited to 'src/content/chapter2_flow_control')
-rw-r--r--src/content/chapter2_flow_control/lesson01_case_expressions/text.html17
-rw-r--r--src/content/chapter2_flow_control/lesson02_variable_patterns/text.html17
-rw-r--r--src/content/chapter2_flow_control/lesson03_string_patterns/text.html4
-rw-r--r--src/content/chapter2_flow_control/lesson09_alternative_patterns/text.html5
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>&lt;&gt;</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>