diff options
Diffstat (limited to 'src/content/chapter1_functions/lesson02_anonymous_functions')
-rw-r--r-- | src/content/chapter1_functions/lesson02_anonymous_functions/code.gleam | 14 | ||||
-rw-r--r-- | src/content/chapter1_functions/lesson02_anonymous_functions/text.html | 7 |
2 files changed, 21 insertions, 0 deletions
diff --git a/src/content/chapter1_functions/lesson02_anonymous_functions/code.gleam b/src/content/chapter1_functions/lesson02_anonymous_functions/code.gleam new file mode 100644 index 0000000..2b037e0 --- /dev/null +++ b/src/content/chapter1_functions/lesson02_anonymous_functions/code.gleam @@ -0,0 +1,14 @@ +import gleam/io + +pub fn main() { + // Assign an anonymous function to a variable + let add_one = fn(a) { a + 1 } + io.debug(twice(1, add_one)) + + // Pass an anonymous function as an argument + io.debug(twice(1, fn(a) { a * 2 })) +} + +fn twice(argument: Int, function: fn(Int) -> Int) -> Int { + function(function(argument)) +} diff --git a/src/content/chapter1_functions/lesson02_anonymous_functions/text.html b/src/content/chapter1_functions/lesson02_anonymous_functions/text.html new file mode 100644 index 0000000..f7bea3f --- /dev/null +++ b/src/content/chapter1_functions/lesson02_anonymous_functions/text.html @@ -0,0 +1,7 @@ +<p> + As well as module-level named functions, Gleam has anonymous function + literals. +</p> +<p> + Anonymous functions can be used interchangeably with named functions. +</p> |