diff options
Diffstat (limited to 'aoc-2019-elixir/lib/util.ex')
-rw-r--r-- | aoc-2019-elixir/lib/util.ex | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/aoc-2019-elixir/lib/util.ex b/aoc-2019-elixir/lib/util.ex new file mode 100644 index 0000000..ada31be --- /dev/null +++ b/aoc-2019-elixir/lib/util.ex @@ -0,0 +1,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 |