(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