【问题标题】:What is the idiomatic way to swap two elements in a vector在向量中交换两个元素的惯用方法是什么
【发布时间】:2011-08-24 04:27:32
【问题描述】:

是否有更好或更简洁的方法来执行以下操作?

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

【问题讨论】:

    标签: vector clojure idioms


    【解决方案1】:

    我也想不出一个特别优雅的解决方案。不过我是这样写的:

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

    【讨论】:

    • 我更喜欢你的实现。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    相关资源
    最近更新 更多