本文介绍了什么是在向量中交换两个元素的惯用方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有没有更好或更简洁的方法来做以下?

Is there a better or more concise way to do the following?

(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))))


推荐答案

我不能想到一个特别优雅的解决方案。这是我写的方式:

I can't think of a particularly elegant solution, either. Here's how I'd write it though:

(defn swap [v i1 i2]
   (asso­c v i2 (v i1) i1 (v i2)))­

这篇关于什么是在向量中交换两个元素的惯用方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 06:07