1
我寫了一個簡單的功能Clojure中可以解析XML:Clojure的易復發的怪異行爲
(defn filter-tags [xml & selectors]
(if (and (seq selectors) (seq xml))
(recur
(->>
xml
(filter #(= (first selectors) (:tag %)))
(map :content)
flatten)
(rest selectors))
xml))
(defn search-twitter [query]
(->
(clojure.xml/parse (str "http://search.twitter.com/search.atom?q=" query))
:content
(filter-tags :entry :title)))
(first (search-twitter "something")))
它運作良好,具有易復發......但它是奇怪,當我嘗試做了「平原」遞歸,明確地調用過濾器標籤,它不起作用... 有人可以解釋這一點嗎?
定義「不工作」 - 沒有輸出或堆棧跟蹤崩潰? – sw1nn 2012-04-03 08:48:37
它返回零,因爲我記得(我使用Clojure 1.2) – Zsolt 2012-04-03 08:53:01