Hopefully this is at least par for the course
. @Ninigi I’m interested in what you’d use instead of do_ here.
defmodule Example do
def segment_path(path) do
path |> String.split("/", trim: true) |> do_segment_path("")
end
defp do_segment_path([], _path), do: []
defp do_segment_path([current | rest], path) do
new_path = "#{path}/#{current}"
[{current, new_path} | do_segment_path(rest, new_path)]
end
end
Running:
iex(1)> Example.segment_path("path/to/segment")
[{"path", "/path"}, {"to", "/path/to"}, {"segment", "/path/to/segment"}]






















