(postwalk #(do (println "visiting:" %)
(if (vector? %)
(seq %)
%))
[:title {:bu "hu"}])
我期待什麼名單(不printlns):(:title {:bu "hu"})
變動矢量使用postwalk
我得到了什麼:
visiting: :title
visiting: :bu
visiting: hu
visiting: [:bu hu]
Stack trace of root exception is empty; this is likely due to a JVM optimization
that can be disabled with -XX:-OmitStackTraceInFastThrow.
java.lang.ClassCastException:
爲什麼訪問[:bu hu]
代替{:bu hu}
?它似乎與嵌套的向量很好地工作,但扔了一張地圖,jvm生氣我和嘔吐無法理解的淫穢。
很好的洞察力(+1)!我喜歡Clojure,但是這樣的問題讓我想起爲什麼我們爲編程語言發明了靜態類型系統。 – DaoWen