Skip to content

Commit 1a17634

Browse files
committed
Update Gen_FSM example to be more explicit, clear.
By using a locally registered process name, this example has caused some initial confusion to new users of Elixir. Using explicit PIDs will more closely align with other examples, and reduce the number of things one must understand in order to understand this example.
1 parent 2121ce1 commit 1a17634

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

lib/elixir/lib/gen_fsm/behaviour.ex

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ defmodule GenFSM.Behaviour do
3131
# API functions
3232
3333
def start_link() do
34-
:gen_fsm.start_link({:local, :cvm}, __MODULE__, [], [])
34+
:gen_fsm.start_link(__MODULE__, [], [])
3535
end
3636
37-
def insert_coin() do
38-
:gen_fsm.send_event(:cvm, :coin)
37+
def insert_coin(pid) do
38+
:gen_fsm.send_event(pid, :coin)
3939
end
4040
41-
def request_coffee() do
42-
:gen_fsm.send_event(:cvm, :request_coffee)
41+
def request_coffee(pid) do
42+
:gen_fsm.send_event(pid, :request_coffee)
4343
end
4444
4545
# Callbacks
@@ -83,17 +83,17 @@ defmodule GenFSM.Behaviour do
8383
end
8484
end
8585
86-
{ :ok, _pid } = MyFsm.start_link()
86+
{ :ok, pid } = MyFsm.start_link()
8787
88-
MyFsm.insert_coin
88+
MyFsm.insert_coin(pid)
8989
#=> :ok
90-
MyFsm.insert_coin
90+
MyFsm.insert_coin(pid)
9191
#=> :ok
9292
93-
MyFsm.request_coffee
93+
MyFsm.request_coffee(pid)
9494
#=> :ok
9595
96-
MyFsm.insert_coin
96+
MyFsm.insert_coin(pid)
9797
#=> :ok
9898
#=> Here's your coffee!
9999

0 commit comments

Comments
 (0)