2017-07-19 4 views
4

2要素のリストSubvecからマップを作成しようとしています。Clojurescript - サブベークのリストからのマップ

これはClojureの中で正常に動作します:

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

をしかし、次のエラーで、ClojureScriptに失敗:[2 3](subvec [1 2 3] 1)の交換

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

は、それが両方の言語で動作します。

私はClojureScriptを初めて使用しているため、この動作が文書化されている場所を見つけることはできません。これはバグですか?そして、それを効率的に回すことをどのように示唆しますか?

ありがとうございます!

答えて

3

これは省略だと思います。サブベクトルは通常のベクトルと区別できないはずです。Subvecにはthe one in PersistentVectorのようにIMapEntryの実装が追加されています。

+0

ありがとうございます!私は 'extend-type'を使って実装を追加しました。これは私の問題を解決しました。 – zale

関連する問題