鉴于:
(def my-vec [{:a "foo" :b 10} {:a "bar" :b 13} {:a "baz" :b 7}])
如何迭代每个元素来打印该元素:a和所有的总和:b到那个点?那是:
"foo"10 
"bar"23 
"baz"30
我正在尝试这样的事情无济于事:
; Does not work!    
(map #(prn (:a %2) %1) (iterate #(+ (:b %2) %1) 0)) my-vec) 
这不起作用,因为"iterate"lazy-seq不能引用my-vec中的当前元素(据我所知).
TIA!肖恩
user> (reduce (fn [total {:keys [a b]}]
                  (let [total (+ total b)]
                    (prn a total)
                    total))
              0 my-vec)
"foo" 10
"bar" 23
"baz" 30
30
| 归档时间: | 
 | 
| 查看次数: | 198 次 | 
| 最近记录: |