Hi,
Am 28.12.2009 um 02:36 schrieb Conrad:
> => (left-total [3 5 10 1 2 7])
> ([3 0] [5 3] [10 8] [1 18] [2 19] [7 21])
If in doubt, use lazy-seq.
(defn left-total
[accum-fn accum s]
(lazy-seq
(when-let [[f & r] (seq s)]
(cons [f accum] (left-total accum-fn (accum-fn accum f) r)))))
user=> (left-total + 0 [3 5 10 1 2 7])
([3 0] [5 3] [10 8] [1 18] [2 19] [7 21])
Since you said, that + is more complicated in your specific case, you might
want this more general form. Otherwise the above can of course be simplified…
Sincerely
Meikel
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en