mirror of
https://github.com/rjNemo/exercism-elixir
synced 2026-06-06 02:16:48 +00:00
23 lines
363 B
Elixir
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
|