RosettaCodeData/Task/Read-a-specific-line-from-a-file/Elixir/read-a-specific-line-from-a-file.elixir
2020-02-17 23:21:07 -08:00

11 lines
336 B
Text

defmodule LineReader do
def get_line(filename, line) do
File.stream!(filename)
|> Stream.with_index
|> Stream.filter(fn {_value, index} -> index == line-1 end)
|> Enum.at(0)
|> print_line
end
defp print_line({value, _line_number}), do: String.trim(value)
defp print_line(_), do: {:error, "Invalid Line"}
end