假设我有一个如下所示的惰性序列:
(def s (iterate inc 1))
(take 10 s)
=> (1 2 3 4 5 6 7 8 9 10)
现在,我想生成一个累积和的序列s
像下面这样:
=> (1 3 6 10 15 ...)
我怎样才能做到这一点?
我尝试的是使用atom
并将总和累加到它(变异)这是生成累积序列的唯一方法还是有更好的方法来做到这一点?
注:以上累计总和仅为示例。源序列可以是其他序列。所以我不能使用公式:s(n) = n(n+1)/2
(take 10 (reductions + s))
=> (1 3 6 10 15 21 28 36 45 55)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)