我有以下问题:我有一个包含超过 10000 个条目的时间序列,我想对每个条目执行一些计算。仅此一项不会有问题,但我需要获得最后一个计算值才能获得下一个值。我需要的一个非常简单的形式如下所示:
Val(n) = Val(n-1) + (time-series-entry / 2)
(或类似的东西!)
我不知道如何管理这个。简单地做这样的事情:
(defn calc-val
[time-series element]
(seq (cons (generate-val-element time-series element)
(calc-val time-series (inc element)))))
不会工作,因为不能(至少我不知道怎么做!)得到最后的计算值。然后我想:好吧,让我们使用 Loop-Recur。这将为我提供与时间序列条目相对应的值,但对于下一个我将不得不再次进行所有计算。迭代是正确的,但它不起作用,因为该函数有副作用。
所以我被困在这里。如果有人能给我一个提示,那就太好了。