From 29c49417f89169c03ca05724da3c88880d3a1a17 Mon Sep 17 00:00:00 2001 From: Tomasz Chojnacki Date: Fri, 27 Jan 2023 15:00:57 +0100 Subject: Solve first two days of 2019 in Elixir --- aoc-2019-elixir/lib/util.ex | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 aoc-2019-elixir/lib/util.ex (limited to 'aoc-2019-elixir/lib/util.ex') 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 -- cgit v1.2.3