aboutsummaryrefslogtreecommitdiff
path: root/src/content/chapter0_basics/lesson05_ints
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2024-03-26 11:36:11 +0000
committerLouis Pilfold <louis@lpil.uk>2024-03-26 11:36:11 +0000
commit04ec0d86c8b43d1cca48adc937b3e596a10577a1 (patch)
tree8624097a135e0e879588279eed82c4c2f82bfbab /src/content/chapter0_basics/lesson05_ints
parent9250d4324073874d393282c941f9981ce2686680 (diff)
downloadtour-04ec0d86c8b43d1cca48adc937b3e596a10577a1.tar.gz
tour-04ec0d86c8b43d1cca48adc937b3e596a10577a1.zip
Improve introduction of modules and imports
Thanks @RyanBrewer317!
Diffstat (limited to 'src/content/chapter0_basics/lesson05_ints')
-rw-r--r--src/content/chapter0_basics/lesson05_ints/code.gleam25
-rw-r--r--src/content/chapter0_basics/lesson05_ints/en.html17
2 files changed, 42 insertions, 0 deletions
diff --git a/src/content/chapter0_basics/lesson05_ints/code.gleam b/src/content/chapter0_basics/lesson05_ints/code.gleam
new file mode 100644
index 0000000..cb7991b
--- /dev/null
+++ b/src/content/chapter0_basics/lesson05_ints/code.gleam
@@ -0,0 +1,25 @@
+import gleam/io
+import gleam/int
+
+pub fn main() {
+ // Int arithmetic
+ io.debug(1 + 1)
+ io.debug(5 - 1)
+ io.debug(5 / 2)
+ io.debug(3 * 3)
+ io.debug(5 % 2)
+
+ // Int comparisons
+ io.debug(2 > 1)
+ io.debug(2 < 1)
+ io.debug(2 >= 1)
+ io.debug(2 <= 1)
+
+ // Equality works for any type
+ io.debug(1 == 1)
+ io.debug(2 == 1)
+
+ // Standard library int functions
+ io.debug(int.max(42, 77))
+ io.debug(int.clamp(5, 10, 20))
+}
diff --git a/src/content/chapter0_basics/lesson05_ints/en.html b/src/content/chapter0_basics/lesson05_ints/en.html
new file mode 100644
index 0000000..252496a
--- /dev/null
+++ b/src/content/chapter0_basics/lesson05_ints/en.html
@@ -0,0 +1,17 @@
+<p>Gleam's <code>Int</code> type represents whole numbers.</p>
+<p>
+ There are arithmetic and comparison operators for ints, as well as the
+ equality operator which works on all types.
+</p>
+<p>
+ When running on the Erlang virtual machine ints have no maximum and minimum
+ size. When running on JavaScript runtimes ints are represented using
+ JavaScript's 64 bit floating point numbers,
+</p>
+<p>
+ The
+ <a href="https://hexdocs.pm/gleam_stdlib/gleam/int.html"
+ ><code>gleam/int</code></a
+ >
+ standard library module contains functions for working with ints.
+</p>