微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Clojure中更新向量中的项目?

如何解决如何在Clojure中更新向量中的项目?

| 如果我有向量:
[1 2 3 4 5 6 7 8 9]
:并且我想用0替换5以给出:
[1 2 3 4 0 6 7 8 9]
当我只知道索引为4时该怎么办? 就像是:
 (replace-in-vec [1 2 3 4 5 6 7 8 9] 4 0)
    

解决方法

        
assoc
也可用于向量!
 Usage: (assoc map key val)
        (assoc map key val & kvs)
     关联]。当应用于地图时,   返回相同的新地图   (散列/排序)类型,其中包含   键到val的映射。什么时候   应用于向量,返回一个新的   在索引处包含val的向量。   注意-索引必须为<=(计数   向量)。
(assoc [1 2 3] 1 :a)
 => [1 :a 3]
    ,        您想要三英镑:http://clojure.github.com/clojure/clojure.core-api.html#clojure.core/assoc     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。