Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Collections 在Clojure中返回两个集合的相同元素_Collections_Clojure_Set - Fatal编程技术网

Collections 在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对

我有两套:

{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对您不可用,但您可以定义自己的

一个简单的实现是

(defn intersection [x y]
  (into #{} (filter (partial contains? x) y)))
给予

(intersection #{1 2 3} #{7 8 3})
;#{3}

你可以找到一个更完整、更快的版本

你是说clojure.set/intersection与此项目使用的clojure版本不兼容吗?我不需要clojure.set。谢谢你指出这一点!