21 lines
484 B
Elixir
21 lines
484 B
Elixir
defmodule Aoc2024.Utils do
|
|
def parse_integers(input, separator \\ ~r/\s+/) do
|
|
input
|
|
|> String.split(separator)
|
|
|> Enum.map(fn int_str ->
|
|
case int_str |> Integer.parse() do
|
|
{int, ""} -> int
|
|
_ -> raise "Invalid integer #{int_str}"
|
|
end
|
|
end)
|
|
end
|
|
|
|
def parse_rows_of_integers(input, separator \\ ~r/\s+/) do
|
|
input
|
|
|> String.split("\n", trim: true)
|
|
|> Enum.map(fn line ->
|
|
parse_integers(line, separator)
|
|
end)
|
|
end
|
|
end
|