blob: 2589a7df51693da9a944fa91ba45a3df49a58f0a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import gleam/list
import gleam/string
import gleam/function
import gleam/bool
import gleam/erlang/file
import ext/intx
import ext/resultx
pub fn read_text(filename: String) -> String {
"data/" <> filename <> ".txt"
|> file.read()
|> resultx.force_unwrap()
}
pub fn read_lines(filename: String) -> List(String) {
filename
|> read_text()
|> string.split(on: "\n")
|> list.map(with: string.trim)
|> list.filter(for: function.compose(string.is_empty, bool.negate))
}
pub fn read_numbers(filename: String) -> List(Int) {
filename
|> read_lines()
|> list.map(with: intx.force_parse)
}
|