diff options
author | Louis Pilfold <louis@lpil.uk> | 2023-12-21 14:03:41 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2023-12-21 14:03:41 +0000 |
commit | 4efb34bd728732101432843ed0bfbeb971272287 (patch) | |
tree | 71b3b767c417809d92280cec64424c31c9a475be /src/content/chapter0_basics/lesson05_floats | |
parent | 2a6ae1fa5408247c95bf4a7d59e5038342a2a125 (diff) | |
download | tour-4efb34bd728732101432843ed0bfbeb971272287.tar.gz tour-4efb34bd728732101432843ed0bfbeb971272287.zip |
Add chapters
Diffstat (limited to 'src/content/chapter0_basics/lesson05_floats')
-rw-r--r-- | src/content/chapter0_basics/lesson05_floats/code.gleam | 24 | ||||
-rw-r--r-- | src/content/chapter0_basics/lesson05_floats/text.html | 19 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/content/chapter0_basics/lesson05_floats/code.gleam b/src/content/chapter0_basics/lesson05_floats/code.gleam new file mode 100644 index 0000000..8c4e89a --- /dev/null +++ b/src/content/chapter0_basics/lesson05_floats/code.gleam @@ -0,0 +1,24 @@ +import gleam/io +import gleam/float + +pub fn main() { + // Float arithmetic + io.debug(1.0 +. 1.5) + io.debug(5.0 -. 1.5) + io.debug(5.0 /. 2.5) + io.debug(3.0 *. 3.5) + + // Float comparisons + io.debug(2.2 >. 1.3) + io.debug(2.2 <. 1.3) + io.debug(2.2 >=. 1.3) + io.debug(2.2 <=. 1.3) + + // Equality works for any type + io.debug(1.1 == 1.1) + io.debug(2.1 == 1.2) + + // Standard library float functions + io.debug(float.max(2.0, 9.5)) + io.debug(float.ceiling(5.4)) +} diff --git a/src/content/chapter0_basics/lesson05_floats/text.html b/src/content/chapter0_basics/lesson05_floats/text.html new file mode 100644 index 0000000..497bb13 --- /dev/null +++ b/src/content/chapter0_basics/lesson05_floats/text.html @@ -0,0 +1,19 @@ +<p> + Gleam's <code>Float</code> type represents numbers that are not integers. +</p> +<p> + Unlike many languages Gleam does not have a `NaN` or `Infinity` float value. +</p> +<p> + Gleam's numerical operators are not overloaded, so there are dedictated + operators for working with floats. +</p> +<p> + Floats are represented as 64 bit floating point numbers on both Erlang and + JavaScript runtimes. +</p> +<p> + The <a href="https://hexdocs.pm/gleam_stdlib/gleam/float.html"><code>gleam/float</code></a> + standard library module contains functions for working with floats. +</p> + |