我的工作problem #74在4clojure.com,我的解決方法是如下:Clojure的:「線程優先」宏觀 - >和「線程最後一個」宏觀 - >>
(defn FPS [s]
(->>
(map read-string (re-seq #"[0-9]+" s))
(filter #(= (Math/sqrt %) (Math/floor (Math/sqrt %))))
(interpose ",")
(apply str)))
它工作得很好。但如果我使用了「線程優先」宏觀 - >
(defn FPS [s]
(->
(map read-string (re-seq #"[0-9]+" s))
(filter #(= (Math/sqrt %) (Math/floor (Math/sqrt %))))
(interpose ",")
(apply str)))
,則返回:ClassCastException clojure.lang.LazySeq cannot be cast to clojure.lang.IFn clojure.core/apply (core.clj:617)
爲什麼「 - >>」「 - >」在這個問題不能被取代?
' - >'插入第二個位置,而不是第一個。 – Chiron 2014-09-25 09:24:00
對。糾正... – Tomo 2014-09-25 09:59:45