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