我正在使用定義爲參考的地圖向量。clojure - 刪除參考向量中的元素
我想從矢量中刪除一張地圖,我知道爲了從矢量中刪除一個元素,我應該使用subvec
。
我的問題是,我找不到在參考矢量上實現subvec
的方法。 我試圖使用: (dosync (commute v assoc 0 (vec (concat (subvec @v 0 1) (subvec @v 2 5)))))
,這樣從vec
函數返回的seq將位於向量的索引0上,但它不起作用。
沒有人有一個想法如何實現這個?
感謝
使用矢量來存儲您想要以隨機訪問方式刪除的內容通常是錯誤的選擇 - 它們無法高效地執行,因此用於執行此操作的語言功能很尷尬。考慮只是使用list/seq來代替。 – amalloy 2012-02-15 19:18:27