defmodule Str do
def center(slist) do
len = longest(slist)
slist
|> Enum.map(fn s -> _center(s, len) end)
|> Enum.each(&IO.puts/1)
end
defp longest(slist) do
slist
|> Enum.map(&String.length/1)
|> Enum.max
end
defp _center(str, len) do
l = div(len - String.length(str), 2)
String.duplicate(" ", l) <> str
end
end
Str.center(["cat", "zebra", "elephant"])
^o^ > elixir practice_11_5.exs cat zebra elephant