我正在使用定义为参考的地图向量。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