【发布时间】:2014-05-23 06:20:45
【问题描述】:
在程序世界中,如果我必须找到满足测试的列表中的第一项,我只会使用break 或return。
在 Clojure 中,当我使用 reduce 处理列表以查找第一个值时,如果我继续处理整个列表会不会效率低下?
例如:验证字典列表是否有错误;每个字典都有一个名为count 的键。现在列表中这些计数字段的总和不应超过某个值。如何找到列表中总和超过限制的第一项?
理想情况下,我会使用reduce 并保持运行总数;一旦总数超过限制,我想停在那里(我不知道该怎么做)。
此外,reduce 的返回值每次都是到目前为止的总和,但我需要在最后返回索引。
【问题讨论】:
标签: clojure functional-programming