【发布时间】:2018-09-24 02:16:13
【问题描述】:
我想找到第一个负数之前的所有正数的总和。
我在长生不老药中得到了以下列表。
iex(4)> steps = [0,1,2,3,-4,5,6,-1]
我计算这个列表的总和如下
Enum.reduce(steps,0,fn x,acc -> acc=acc+x end)
一旦我们遇到负数,如何摆脱reduce?
【问题讨论】:
-
你需要 Enum.reduce_while hexdocs.pm/elixir/Enum.html#reduce_while/3
-
我知道如何求所有数字的总和:Enum.reduce/3。为此,您可以使用
Enum.sum/1。