Что такое идиоматический способ обмена двумя элементами в векторе Есть ли лучший или более сжатый способ сделать следующее? (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)))) Ответ 1 Я не могу придумать особенно элегантное решение. Вот как я бы написал это, хотя: (defn swap [v i1 i2] (assoc v i2 (v i1) i1 (v i2)))
Ответ 1 Я не могу придумать особенно элегантное решение. Вот как я бы написал это, хотя: (defn swap [v i1 i2] (assoc v i2 (v i1) i1 (v i2)))