aug*_*uag 1 erlang elixir-mix elixir
我正在关注Elixir lang的Miguel 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中使用它.我的问题是你如何通过内省,文档或利用快捷方式的&符号方法在这种情况下进行故障排除.提前致谢.
语法已过时.你需要写:&on_wake_up(&1, &2)
或&on_wake_up/2
.这些是匿名函数:
iex> is_function &is_atom/1
true
Run Code Online (Sandbox Code Playgroud)