【发布时间】:2012-07-20 12:54:18
【问题描述】:
每当我必须一次处理一个项目(如reduce),累积某种结果(如reduce)时,我经常发现自己需要一种扩展的reduce,但要根据前面的项目进行处理序列(不像reduce)。
例如(一个愚蠢的),如果当前项目和前一个项目都是偶数,则在累加器中加 1,并减去其中一个是奇数。这只是一个愚蠢的案例,但我经常遇到这种问题。我一般做一个向量作为累加器,这样第一项是真正的聚合,第二项是前一项。这不是很优雅,当然也很冗长。
在这些情况下是否有核心功能可以提供帮助?处理此类问题最惯用的方法是什么?谢谢
【问题讨论】:
-
请写出这样的例子。输入:xxx 输出:yyy
标签: clojure