忽略Elixir中捕获运算符中匿名函数的参数
我想在Elixir的捕获中创建一个匿名函数,如:忽略Elixir中捕获运算符中匿名函数的参数,elixir,Elixir,我想在Elixir的捕获中创建一个匿名函数,如:fn\u x->“random”end,但如果我这样做: &(“random”)然后我得到一个编译错误: ** (CompileError) invalid args for &, expected an expression in the format of &Mod.fun/arity, &local/arity or a capture containing at least one argument as &
fn\u x->“random”end
,但如果我这样做:
&(“random”)
然后我得到一个编译错误:
** (CompileError) 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: "random"
有没有办法做到这一点?谢谢如中所述 创建匿名函数时的唯一限制是必须至少存在一个占位符,即它必须至少包含
&1
,并且不支持块表达式
这就是说,
&(“random”)
符号是不可能的,应该写成fn.->“random”end
,正如在
创建匿名函数时的唯一限制是必须至少存在一个占位符,即它必须至少包含&1
,并且不支持块表达式
也就是说,
&(“random”)
符号是不可能的,应该写成fn->“random”end
理论上你可以做((“random”|&1)作为一种变通方法,适用于每一个truthy valuenice@JulioGB!谢谢大家。我不会仅仅因为胡里奥的建议就删除这个问题,这对其他人可能有用。请不要这样做。它非常反习惯用法,很难阅读,而且与fn.->:foo end
相比,它甚至不保存击键。理论上,你可以做((“random”|&&1)作为一种变通方法,适用于每一个真实值nice one@JulioGB!谢谢大家。我不会仅仅因为胡里奥的建议就删除这个问题,这对其他人可能有用。请不要这样做。它非常反习惯用法,很难阅读,毕竟与fn.->:foo end
相比,它甚至不保存击键。