问题
I have this:
case test123(&(:some_module.test456(789))) do
# ...
end
An error:
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)
However, I don't have a parameter to pass into it and previously it was merely
fn(_) -> :some_module.test456(789) end
How to fix it? Switch back to "fn"?
回答1:
The &
syntax cannot be used to create such anonymous functions because the compiler can't know whether you wanted to create a 0 or 1 or 2 or more arity function. You'll have to keep using fn(_) -> :some_module.test456(789) end
.
来源:https://stackoverflow.com/questions/43852728/the-with-no-parameters