2017-07-19 34 views
4

我試圖從2元素列表中創建一個地圖Subvec s。Clojurescript - 從subvecs列表中的地圖

這工作正常Clojure中:

(into {} (list (subvec [1 2 3] 1))) 
>> {2 3} 

但是在ClojureScript失敗,並出現以下錯誤:

No protocol method IMapEntry.-key defined for type number: 2 

更換(subvec [1 2 3] 1)[2 3]使得它在兩種語言工作。

我是ClojureScript的新手,無法找到記錄此行爲的地方。這是一個錯誤?你會如何建議有效地繞過它?

謝謝!

回答

3

我認爲這是一個遺漏。子向量應該與普通向量無法區分,因此Subvec應該添加IMapEntry實現,如the one in PersistentVector

+0

謝謝!我使用'extend-type'添加了一個實現,它解決了我的問題。 – zale