blob: ada31bec428ff1f270ea91f3079f2a6a82404f34 (
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
|
defmodule Util.Integer do
@spec parse!(binary) :: integer
def parse!(binary) do
{integer, _remainder} = Integer.parse(binary)
integer
end
end
defmodule Util.Input do
@spec read_text(binary) :: binary
def read_text(filename) do
File.read!("data/#{filename}.txt")
end
@spec read_lines(binary) :: [binary]
def read_lines(filename) do
filename |> read_text() |> String.split()
end
@spec read_numbers(binary) :: [integer]
def read_numbers(filename) do
filename
|> read_lines()
|> Enum.map(&Util.Integer.parse!/1)
end
end
|