diff options
Diffstat (limited to 'lessons/src/lesson026_list_recursion')
-rw-r--r-- | lessons/src/lesson026_list_recursion/code.gleam | 13 | ||||
-rw-r--r-- | lessons/src/lesson026_list_recursion/text.html | 22 |
2 files changed, 0 insertions, 35 deletions
diff --git a/lessons/src/lesson026_list_recursion/code.gleam b/lessons/src/lesson026_list_recursion/code.gleam deleted file mode 100644 index 370675a..0000000 --- a/lessons/src/lesson026_list_recursion/code.gleam +++ /dev/null @@ -1,13 +0,0 @@ -import gleam/io - -pub fn main() { - let sum = sum_list([18, 56, 35, 85, 91], 0) - io.debug(sum) -} - -fn sum_list(list: List(Int), total: Int) -> Int { - case list { - [first, ..rest] -> sum_list(rest, total + first) - [] -> total - } -} diff --git a/lessons/src/lesson026_list_recursion/text.html b/lessons/src/lesson026_list_recursion/text.html deleted file mode 100644 index 7f2351d..0000000 --- a/lessons/src/lesson026_list_recursion/text.html +++ /dev/null @@ -1,22 +0,0 @@ -<p> - Most commonly functions in the - <a href="https://hexdocs.pm/gleam_stdlib/gleam/list.html"><code>gleam/list</code></a> - module are used to iterate across a list, but at times you may prefer - to work with the list directly. -</p> -<p> - Gleam doesn't have a looping syntax, instead iteration is done through - recursion and pattern matching. -</p> -<p> - The <code>[first, ..rest]</code> pattern matches on a list with at least one - element, assigning the first element to the variable <code>first</code> and - the rest of the list to the variable <code>rest</code>. - By using this pattern and a pattern for the empty list <code>[]</code> a - function can run code on each element of a list until the end is reached. -</p> -<p> - This code sums a list by recursing over the list and adding each int to a - <code>total</code> argument, returning it when the end is reached. -</p> - |