Miguel Camba教程Elixir快捷功能错误

aug*_*uag 1 erlang elixir-mix elixir

我正在关注Elixir langMiguel Camba教程.

在我尝试使用以下代码段之前一​​切正常:

get "/play/:story_name" do
    conn = conn.resp_content_type("text/event-stream")
    conn = conn.send_chunked(200)

    iterator = File.iterator!("#{conn.params[:story_name]}.txt")

    Enum.each iterator, fn(line) ->
      { :ok, conn } = conn.chunk "data: #{line}\n"
      await conn, 1000, on_wake_up(&1, &2), on_time_out(&1)
    end
    conn
  end

  defp on_wake_up(arg1, arg2) do
    # Nothing
  end

  defp on_time_out(arg1) do
    # Nothing
  end

我尝试过以下方法:

await conn, 1000, on_wake_up&(&1, &2), on_time_out&(&1)
await conn, 1000, on_wake_up(&(&1, &2)), on_time_out(&(&1))
await conn, 1000, on_wake_up(), on_time_out()
   end
    conn
  end

  defp on_wake_up() do
    # Nothing
  end

  defp on_time_out() do
    # Nothing
  end

我想运行内省来分别查看传入(arg1,arg2)和(arg1)的对象类型,并且仍然试图弄清楚如何实现它.

在此期间,我无法判断快捷方式的&符号方法是否有用,因为我无法在iex REPL中使用它.我的问题是你如何通过内省,文档或利用快捷方式的&符号方法在这种情况下进行故障排除.提前致谢.

Jos*_*lim 5

语法已过时.你需要写:&on_wake_up(&1, &2)&on_wake_up/2.这些是匿名函数:

iex> is_function &is_atom/1
true
Run Code Online (Sandbox Code Playgroud)