exercism-elixir/take-a-number/lib/take_a_number.ex
2022-02-07 05:25:10 -04:00

23 lines
363 B
Elixir

defmodule TakeANumber do
def start() do
spawn(fn -> listen(0) end)
end
defp listen(state) do
receive do
{:report_state, pid} ->
send(pid, state)
listen(state)
{:take_a_number, pid} ->
send(pid, state + 1)
listen(state + 1)
:stop ->
nil
_ ->
listen(state)
end
end
end