没有参数的“&”

Jod*_*oro 5 elixir

我有这个:

    case test123(&(:some_module.test456(789))) do
      # ...
    end
Run Code Online (Sandbox Code Playgroud)

一个错误:

invalid args for &, expected an expression in the format of &Mod.fun/arity, 
&local/arity or a capture containing at least one argument as &1, 
got: :some_module.test456(789)
Run Code Online (Sandbox Code Playgroud)

但是,我没有要传递给它的参数,以前它只是

 fn(_) -> :some_module.test456(789) end
Run Code Online (Sandbox Code Playgroud)

如何解决?切换回“ fn”?

Dog*_*ert 5

&语法不能用于创建此类匿名函数,因为编译器无法知道您是要创建0还是1或2或更多个arity函数。您必须继续使用fn(_) -> :some_module.test456(789) end