Есть ли лучший или более краткий способ сделать следующее?
(defn swap [v i1 i2] "swap two positions in a vector" (let [e1 (v i1) e2 (v i2)] (-> (assoc v i1 e2) (assoc i2 e1))))
Не могу придумать и особенно элегантное решение.Вот как бы я написал это:
(defn swap [v i1 i2] (assoc v i2 (v i1) i1 (v i2)))