Olá, Fernanda
Entendo que você está querendo criar um sistema de recursão com Elixir que concatena os caracteres de um número conforme o usuário o digita. A recursão é uma técnica poderosa que pode ser usada para resolver esse tipo de problema. Aqui está um exemplo de como você pode fazer isso:
defmodule Recursion do
def print_prefixes(number) do
number
|> Integer.to_string()
|> print_prefixes([])
end
defp print_prefixes([], _accumulated), do: :ok
defp print_prefixes([head | tail], accumulated) do
new_accumulated = [head | accumulated]
IO.puts Enum.join(new_accumulated, "")
print_prefixes(tail, new_accumulated)
end
end
Nesse código, primeiro transformamos o número em uma string e então chamamos a função privada print_prefixes/2
que vai imprimir cada prefixo do número e chamar a si mesma recursivamente com o restante da string até que não haja mais caracteres.
Para testar, você pode chamar Recursion.print_prefixes(853)
no terminal do Elixir.
Espero ter ajudado e bons estudos!