【发布时间】:2023-03-25 12:46:02
【问题描述】:
我将一个函数传递给Enum.reduce,如下获取24
Enum.reduce([1,2,3,4], &(&1 * &2)) #=> 24
如果我有一个嵌套列表,我想将每个嵌套元素相乘并将它们相加。例如在[[1,2],[3,4]] 我想执行[[1*2] + [3*4]] 得到14,有没有办法(使用匿名函数)
这是我尝试过的(知道它不正确),我得到了nested captures via & are not allowed。我正在尝试了解使用 Elixir 时所需的心理模型
Enum.reduce([[1,2],[3,4]], &(&(&1 * &2) + &(&1 * &2)))
【问题讨论】:
-
最好不要使用
&操作符来创建过于复杂的匿名函数,因为你最终会得到难以调试和理解的代码。
标签: elixir