How to use reduce and into properly

Viewed 563

I'm learning Clojure and actually I'm doing some exercises to practice but I'm stuck in a problem:

I need to make a sum-consecutives function which sums consecutive elements in a array, resulting in a new one, as example:

[1,4,4,4,0,4,3,3,1]  ; should return [1,12,0,4,6,1]

I made this function which should work just fine:

(defn sum-consecutives [a]
  (reduce #(into %1 (apply + %2)) [] (partition-by identity a)))

But it throws an error:

IllegalArgumentException Don't know how to create ISeq from: java.lang.Long clojure.lang.RT.seqFrom (RT.java:542)

Can anyone help me see what is wrong with my func? I've already search this error in web but I find no helpful solutions.

2 Answers
Related