=> (into {} (for [x [["1" "2"] ["3" "4"]]] (map #(Long/parseLong %) x)))
ClassCastException java.lang.Long cannot be cast to java.util.Map$Entry clojure.lang.ATransientMap.conj (ATransientMap.java:44)
=> (into {} (for [x [["1" "2"] ["3" "4"]]] (seq (map #(Long/parseLong %) x))))
ClassCastException java.lang.Long cannot be cast to java.util.Map$Entry clojure.lang.ATransientMap.conj (ATransientMap.java:44)
=> (into {} (for [x [["1" "2"] ["3" "4"]]] (vec (map #(Long/parseLong %) x))))
{1 2, 3 4}
我有兩個相關的問題序列爲X序列:爲什麼不(成{} X)接受
- 爲什麼
(into {})
矢量堅持作爲一個容器(關鍵,價值)對? - 爲什麼它試圖使用
Long
作爲配對的組成部分?它不應該至少抱怨看到一個非矢量,不管它包含什麼?
使用Clojure 1.5.1 BTW測試。
這實際上也回答了第一個問題。 –