Ben bir referece olarak tanımlanan bir harita vektörünü kullanıyorum.clojure - bir ref vektöründen bir elementi sil
i vektörü tek bir harita silmek istiyor ve ben sırayla i subvec
kullanmalıdır bir vektör bir öge silmek için biliyoruz.
Sorunum, bir başvuru vektörü üzerinden subvec
uygulanmasının bir yolunu bulamadığım. kullanarak (dosync (commute v assoc 0 (vec (concat (subvec @v 0 1) (subvec @v 2 5)))))
, bu nedenle vec
işlevinden döndürülen seq vektör 0 dizininde yer alacak, ancak işe yaramadı.
Bunu nasıl uygulayacağına dair bir fikri olan var mı?
sayesinde
(sadece alter gibi)
Silmek istediğiniz bir şeyi rastgele erişimli bir şekilde saklamak için bir vektör kullanmak genellikle yanlış bir seçimdir - etkin bir şekilde yapamazlar ve sonuç olarak bunları yapmak için dil özellikleri gariptir. Bunun yerine sadece bir liste/sırala kullanmayı düşünün. – amalloy