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

Tho*_*wne 2 elixir

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

这有效:

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

但是,如果我不能将它们全部放在同一行怎么办?可以使用do end子句将它们括起来吗?因为这不起作用:

def pong sender do
  receive do
    x -> do
           IO.puts("hello")
           IO.puts("there")
           send(sender, x)
         end
  end
end
Run Code Online (Sandbox Code Playgroud)

Ale*_*nts 6

我想你可以省略do/end

def pong sender do
  receive do
    x ->
      IO.puts("hello")
      IO.puts("there")
      send(sender, x)
  end
end
Run Code Online (Sandbox Code Playgroud)