aboutsummaryrefslogtreecommitdiff
path: root/lessons/src/lesson027_multiple_subjects
diff options
context:
space:
mode:
Diffstat (limited to 'lessons/src/lesson027_multiple_subjects')
-rw-r--r--lessons/src/lesson027_multiple_subjects/code.gleam17
-rw-r--r--lessons/src/lesson027_multiple_subjects/text.html13
2 files changed, 30 insertions, 0 deletions
diff --git a/lessons/src/lesson027_multiple_subjects/code.gleam b/lessons/src/lesson027_multiple_subjects/code.gleam
new file mode 100644
index 0000000..d7aa34a
--- /dev/null
+++ b/lessons/src/lesson027_multiple_subjects/code.gleam
@@ -0,0 +1,17 @@
+import gleam/io
+import gleam/int
+
+pub fn main() {
+ let x = int.random(2)
+ let y = int.random(2)
+ io.debug(x)
+ io.debug(y)
+
+ let result = case x, y {
+ 0, 0 -> "Both are zero"
+ 0, _ -> "First is zero"
+ _, 0 -> "Second is zero"
+ _, _ -> "Neither are zero"
+ }
+ io.debug(result)
+}
diff --git a/lessons/src/lesson027_multiple_subjects/text.html b/lessons/src/lesson027_multiple_subjects/text.html
new file mode 100644
index 0000000..26a7ea3
--- /dev/null
+++ b/lessons/src/lesson027_multiple_subjects/text.html
@@ -0,0 +1,13 @@
+<p>
+ Sometimes it is useful to pattern match on multiple values at the same time in
+ one case experession.
+</p>
+<p>
+ To do this you can give multiple subjects and multiple patterns, separated
+ commas.
+</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>