Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
忽略Elixir中捕获运算符中匿名函数的参数_Elixir - Fatal编程技术网

忽略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 &

我想在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 &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
相比,它甚至不保存击键。