RosettaCodeData/Task/Nested-function/Elixir/nested-function.elixir

16 lines
436 B
Plaintext

defmodule Nested do
def makeList(separator) do
counter = 1
makeItem = fn {}, item ->
{"#{counter}#{separator}#{item}\n", counter+1}
{result, counter}, item ->
{result <> "#{counter}#{separator}#{item}\n", counter+1}
end
{} |> makeItem.("first") |> makeItem.("second") |> makeItem.("third") |> elem(0)
end
end
IO.write Nested.makeList(". ")