Elixir收到消息:如何运行多个语句?

时间:2016-09-26 13:52:16

标签: elixir

如何在单个Elixir接收模式匹配中编写多个语句?

这有效:

def pong sender do
  receive do
    x -> IO.puts("hello"); IO.puts("there"); send(sender, x)
  end
end

但如果我不能将它们全部放在同一条线上呢?他们可以使用do end子句加括号吗?因为这不起作用:

def pong sender do
  receive do
    x -> do
           IO.puts("hello")
           IO.puts("there")
           send(sender, x)
         end
  end
end

1 个答案:

答案 0 :(得分:5)

我认为你可以省略do/end

def pong sender do
  receive do
    x ->
      IO.puts("hello")
      IO.puts("there")
      send(sender, x)
  end
end