我的工作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