4
我有一个函数在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))))))
是否有功能映射的方法吗?
作为刚开始看Clojure的人(并且喜欢它很多),我不得不说,doseq的链接文档并不那么清楚。它是指在形式上如何完成事情?如果是这样的话,那个文档也可能会更好(关于文档的最好的例子就是这样的例子)。 – Anon 2009-10-07 15:11:24
是的,有一个wiki你可能会发现很方便: http://en.wikibooks.org/维基/ Clojure_Programming /实施例/ API_Examples/do_Macros#doseq – 2009-10-07 23:34:34