Collections 在Clojure中返回两个集合的相同元素
我有两套: {1 2 3}和{7 8 3} 我想创建一个函数,它只返回每个集合的共享值,3 我不能使用交叉路口;它与我当前版本的clojure不兼容 谢谢大家! 这个函数在我记忆中已经存在很久了,你确定你正确使用了它吗?这肯定会奏效:Collections 在Clojure中返回两个集合的相同元素,collections,clojure,set,Collections,Clojure,Set,我有两套: {1 2 3}和{7 8 3} 我想创建一个函数,它只返回每个集合的共享值,3 我不能使用交叉路口;它与我当前版本的clojure不兼容 谢谢大家! 这个函数在我记忆中已经存在很久了,你确定你正确使用了它吗?这肯定会奏效: (require '[clojure.set]) (clojure.set/intersection #{1 2 3} #{7 8 3}) => #{3} 或者是时候更新到Clojure的最新版本了…我不明白为什么Clojure.set/crossion对
(require '[clojure.set])
(clojure.set/intersection #{1 2 3} #{7 8 3})
=> #{3}
或者是时候更新到Clojure的最新版本了…我不明白为什么Clojure.set/crossion对您不可用,但您可以定义自己的
一个简单的实现是
(defn intersection [x y]
(into #{} (filter (partial contains? x) y)))
给予
(intersection #{1 2 3} #{7 8 3})
;#{3}
你可以找到一个更完整、更快的版本 你是说clojure.set/intersection与此项目使用的clojure版本不兼容吗?我不需要clojure.set。谢谢你指出这一点!