首页 > 解决方案 > 从 Clojure 中的集合中删除一个条目

问题描述

我是 Clojure 的新手,我想知道如何从集合中删除一个元素。

说我有:

(def example ["a" "b" "c"])

我希望能够删除说“b”,当我打电话时

(println example)

并让它返回一个只有“a”和“c”的集合

我知道 using(remove (partial = "b") example) 会返回我想要的但是我如何用这个更新示例变量?

谢谢!

标签: collectionssyntaxclojure

解决方案


(filter (fn [x] (not (= x "b"))) example)

会得到你'("a" "c")。几点:

  1. 你不应该考虑突变。通常使用函数式编程,特别是使用具有持久性数据结构的 clojure 的全部目的是避免与可变性相关的问题。
  2. 如果你真的,真的需要一些可变的东西,你可以使用原子,但如果你不确定你需要它是可变的,你不需要。

推荐阅读