Slide 12
Slide 12 text
Dimitris Zorbas - Athens Ruby Meetup#26
defmodule Speaker do
import IO, only: [puts: 1]
def new, do: spawn &start/0
def start do
receive do
{:answer, name} -> puts talk(name)
_ -> puts "I don't know how to handle that"
after
2000 -> puts "[#{inspect(self)}] Tell me something to do"
end
start
end
def talk(:bob), do: "Hi, uncle Bob!"
def talk(42), do: "Oh! the answer to life the universe and everything"
def talk(n) when is_number(n), do: "You're an ordinary number"
def talk(_), do: "I don't really know what to tell you"
end