aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2024-03-06 13:58:37 +0000
committerLouis Pilfold <louis@lpil.uk>2024-03-06 13:58:37 +0000
commitb13ca3f54ee93d2a714073caec4aa4252e8b3f00 (patch)
tree2eace88c3606cf80fbe07db7ab20af677219334b /src
parent99c0abb1a17f17298ad8e78bc94b12b2b16ef8ac (diff)
downloadtour-b13ca3f54ee93d2a714073caec4aa4252e8b3f00.tar.gz
tour-b13ca3f54ee93d2a714073caec4aa4252e8b3f00.zip
Generic custom types
Diffstat (limited to 'src')
-rw-r--r--src/content/chapter3_data_types/lesson05_generic_custom_types/code.gleam10
-rw-r--r--src/content/chapter3_data_types/lesson05_generic_custom_types/en.html10
-rw-r--r--src/content/chapter3_data_types/lesson06_nil/code.gleam (renamed from src/content/chapter3_data_types/lesson05_nil/code.gleam)0
-rw-r--r--src/content/chapter3_data_types/lesson06_nil/en.html (renamed from src/content/chapter3_data_types/lesson05_nil/en.html)0
-rw-r--r--src/content/chapter3_data_types/lesson07_results/code.gleam (renamed from src/content/chapter3_data_types/lesson06_results/code.gleam)0
-rw-r--r--src/content/chapter3_data_types/lesson07_results/en.html (renamed from src/content/chapter3_data_types/lesson06_results/en.html)0
-rw-r--r--src/content/chapter3_data_types/lesson08_bit_arrays/code.gleam (renamed from src/content/chapter3_data_types/lesson07_bit_arrays/code.gleam)0
-rw-r--r--src/content/chapter3_data_types/lesson08_bit_arrays/en.html (renamed from src/content/chapter3_data_types/lesson07_bit_arrays/en.html)0
8 files changed, 20 insertions, 0 deletions
diff --git a/src/content/chapter3_data_types/lesson05_generic_custom_types/code.gleam b/src/content/chapter3_data_types/lesson05_generic_custom_types/code.gleam
new file mode 100644
index 0000000..7e34e99
--- /dev/null
+++ b/src/content/chapter3_data_types/lesson05_generic_custom_types/code.gleam
@@ -0,0 +1,10 @@
+pub type Option(inner) {
+ Some(inner)
+ None
+}
+
+// An option of string
+pub const name: Option(String) = Some("Annah")
+
+// An option of int
+pub const level: Option(Int) = Some(10)
diff --git a/src/content/chapter3_data_types/lesson05_generic_custom_types/en.html b/src/content/chapter3_data_types/lesson05_generic_custom_types/en.html
new file mode 100644
index 0000000..bc48e63
--- /dev/null
+++ b/src/content/chapter3_data_types/lesson05_generic_custom_types/en.html
@@ -0,0 +1,10 @@
+<p>
+ Like functions, custom types can also be generic, taking contained types as
+ parameters.
+</p>
+<p>
+ Here a generic <code>Option</code> type is defined, which is used to represent
+ a value that is either present or absent. This type is quite useful! The
+ <code>gleam/option</code> module defines it so you can use it in your Gleam
+ projects.
+</p>
diff --git a/src/content/chapter3_data_types/lesson05_nil/code.gleam b/src/content/chapter3_data_types/lesson06_nil/code.gleam
index c28080b..c28080b 100644
--- a/src/content/chapter3_data_types/lesson05_nil/code.gleam
+++ b/src/content/chapter3_data_types/lesson06_nil/code.gleam
diff --git a/src/content/chapter3_data_types/lesson05_nil/en.html b/src/content/chapter3_data_types/lesson06_nil/en.html
index 00a082e..00a082e 100644
--- a/src/content/chapter3_data_types/lesson05_nil/en.html
+++ b/src/content/chapter3_data_types/lesson06_nil/en.html
diff --git a/src/content/chapter3_data_types/lesson06_results/code.gleam b/src/content/chapter3_data_types/lesson07_results/code.gleam
index ae00bba..ae00bba 100644
--- a/src/content/chapter3_data_types/lesson06_results/code.gleam
+++ b/src/content/chapter3_data_types/lesson07_results/code.gleam
diff --git a/src/content/chapter3_data_types/lesson06_results/en.html b/src/content/chapter3_data_types/lesson07_results/en.html
index 4e80208..4e80208 100644
--- a/src/content/chapter3_data_types/lesson06_results/en.html
+++ b/src/content/chapter3_data_types/lesson07_results/en.html
diff --git a/src/content/chapter3_data_types/lesson07_bit_arrays/code.gleam b/src/content/chapter3_data_types/lesson08_bit_arrays/code.gleam
index dc772ca..dc772ca 100644
--- a/src/content/chapter3_data_types/lesson07_bit_arrays/code.gleam
+++ b/src/content/chapter3_data_types/lesson08_bit_arrays/code.gleam
diff --git a/src/content/chapter3_data_types/lesson07_bit_arrays/en.html b/src/content/chapter3_data_types/lesson08_bit_arrays/en.html
index cd6733a..cd6733a 100644
--- a/src/content/chapter3_data_types/lesson07_bit_arrays/en.html
+++ b/src/content/chapter3_data_types/lesson08_bit_arrays/en.html