首页 > 解决方案 > 列表中的唯一元素

问题描述

我创建了一个检查列表成员资格的函数:

(defn in-lst? [x lst]
  (if (empty? lst)
    false
    (if (= x (first lst))
      true
      (in-lst? x (rest lst)))))

我正在尝试使用此 fn 从列表中派生唯一元素,但我对下面的代码没有太多运气。我只想new-x返回 lst 中的唯一元素。这将进入bag. 我错过了什么?

(defn new-x [lst bag]
  (if (empty? lst)
    bag
    (if (in-lst?  lst bag)
      (new-x bag
      (new-x (rest lst))))))

标签: clojure

解决方案


推荐阅读