Same way, probably.
defmodule Test do
def first_recurring(str) do
do_first_recurring(str, [])
end
defp do_first_recurring(<<letter, rest::bytes>>, chars) do
if letter in chars do
<<letter>>
else
do_first_recurring(rest, [letter | chars])
end
end
defp do_first_recurring("", _chars), do: nil
end
Not particularly efficient, but should provide you with a general idea.
iex(2)> Test.first_recurring("ABCDAHWX")
"A"






















