交换向量中两个元素的惯用方法是什么
是否有更好或更简洁的方法来执行以下操作?
(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))))
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))))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也想不出特别优雅的解决方案。不过我是这样写的:
I can't think of a particularly elegant solution, either. Here's how I'd write it though: