有没有map的替代方法可以将函数应用于Clojure中的所有序列?

时间:2009-10-07 12:02:58

标签: clojure

我有一个功能

(defn change-score [docid termid]
    (do (dosync (alter *documents-scores* assoc docid  (+ 1 (*documents-scores* docid))))
            nil)  )

(defn vector-space[]
    (loop [terms (count (deref *term-hash*))]
        (if (zero? terms)
            nil
            (do
                (dorun (map (fn[docid](change-score docid terms)) (doc-list terms)))
                (recur (dec terms))))))

在功能中有替代地图吗?

1 个答案:

答案 0 :(得分:6)

doseq正是出于此目的。

(doseq [x xs] (side-effect x))