diff options
author | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-02-22 13:01:06 +0100 |
---|---|---|
committer | Tomasz Chojnacki <tomaszchojnacki2001@gmail.com> | 2023-02-22 13:01:06 +0100 |
commit | e83a0b8b0c71dbbce6b3cdb87c77b2740b9f79f8 (patch) | |
tree | 06225c03aacf6d5b0c813dfaa3efc961e917bfde /aoc-2020-gleam/src/ext | |
parent | 6eaf758850feebd8cfc97c3ead2de2625465a326 (diff) | |
download | gleam_aoc2020-e83a0b8b0c71dbbce6b3cdb87c77b2740b9f79f8.tar.gz gleam_aoc2020-e83a0b8b0c71dbbce6b3cdb87c77b2740b9f79f8.zip |
Finish first part of day 7
Diffstat (limited to 'aoc-2020-gleam/src/ext')
-rw-r--r-- | aoc-2020-gleam/src/ext/iteratorx.gleam | 3 | ||||
-rw-r--r-- | aoc-2020-gleam/src/ext/listx.gleam | 7 |
2 files changed, 5 insertions, 5 deletions
diff --git a/aoc-2020-gleam/src/ext/iteratorx.gleam b/aoc-2020-gleam/src/ext/iteratorx.gleam index 456c1d1..8e34351 100644 --- a/aoc-2020-gleam/src/ext/iteratorx.gleam +++ b/aoc-2020-gleam/src/ext/iteratorx.gleam @@ -3,8 +3,7 @@ import gleam/list pub fn length(iterator: Iterator(a)) -> Int { iterator - |> iter.to_list - |> list.length + |> iter.fold(from: 0, with: fn(c, _) { c + 1 }) } pub fn count(iterator: Iterator(a), satisfying predicate: fn(a) -> Bool) -> Int { diff --git a/aoc-2020-gleam/src/ext/listx.gleam b/aoc-2020-gleam/src/ext/listx.gleam index d962515..bead987 100644 --- a/aoc-2020-gleam/src/ext/listx.gleam +++ b/aoc-2020-gleam/src/ext/listx.gleam @@ -1,7 +1,8 @@ -import gleam/list +import gleam/iterator as iter +import ext/iteratorx as iterx pub fn count(list: List(a), satisfying predicate: fn(a) -> Bool) -> Int { list - |> list.filter(for: predicate) - |> list.length + |> iter.from_list + |> iterx.count(satisfying: predicate) } |