You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elixir实现求和公式时Enum.each返回:ok无法传入Enum.sum问题求助

Elixir 遍历求和问题解决方案
  • 核心原因:Enum.each/2 仅用于执行遍历副作用,固定返回 :ok,不会留存每轮迭代的计算结果,因此无法直接传入 Enum.sum/1 做后续计算。
  • 最简单的修改方案是改用 Enum.map/2 收集所有计算结果,再求和:
result = 1..2
|> Enum.map(fn x -> :math.pow(1 + 1/1, -x) end)
|> Enum.sum()
  • 如果不需要留存中间计算结果,也可以直接用 Enum.reduce/3 单次遍历完成求和,性能更优:
result = Enum.reduce(1..2, 0, fn x, acc -> acc + :math.pow(1 + 1/1, -x) end)

内容的提问来源于stack exchange,提问作者Borybar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 14:54:00