20 lines
332 B
Elixir
20 lines
332 B
Elixir
defmodule MyStack do
|
|
use GenServer
|
|
|
|
def start_link(args) do
|
|
GenServer.start_link(__MODULE__, nil, name: args[:name])
|
|
end
|
|
|
|
def init(_) do
|
|
{:ok, []}
|
|
end
|
|
|
|
def handle_info({:push, el}, state) do
|
|
{:noreply, [el] ++ state}
|
|
end
|
|
|
|
def handle_call(:pop, _from, [head | tail]) do
|
|
{:reply, head, tail}
|
|
end
|
|
end
|