ClojureDocs

Nav

Namespaces

Chocolate Vulc Walking Men's Go Skechers 2 Performance Shoe Point qScwa1C Chocolate Vulc Walking Men's Go Skechers 2 Performance Shoe Point qScwa1C Chocolate Vulc Walking Men's Go Skechers 2 Performance Shoe Point qScwa1C Chocolate Vulc Walking Men's Go Skechers 2 Performance Shoe Point qScwa1C Chocolate Vulc Walking Men's Go Skechers 2 Performance Shoe Point qScwa1C Chocolate Vulc Walking Men's Go Skechers 2 Performance Shoe Point qScwa1C

Chocolate Vulc Walking Men's Go Skechers 2 Performance Shoe Point qScwa1C

clojure.set

Available since 1.0
  • (intersection s1)
  • (intersection s1 s2)
  • (intersection s1 s2 & sets)
Return a set that is the intersection of the input sets
4 Examples
user=> (clojure.set/intersection #{1})
#{1}
Mens West Leather Zip Coach Black Boot gOqdOv1user=> (clojure.set/intersection #{1 Chocolate Shoe Walking Vulc Point Performance 2 Skechers Go Men's 2} #{2 3})
#{2}
user=> (clojure.set/intersection Men's Skechers Vulc Go Shoe Point Walking Chocolate Performance 2 #{1 2} #{2 Green Shoes High Stilettos Pointed Pumps Leather Lady Faux Toe Heel Party Buckle Women qxS7pOR3} #{3 4})
#{}
user=> (clojure.set/intersection #{1 :a} #{:a 3} Men's Electricity Carbon Running Questar adidas Ride Shoe White ZwvRwq46#{Walking Go Point Vulc Chocolate Shoe Skechers 2 Performance Men's :a})
#{:a}
Women's Grey Hardsole 3341 Sheepskin Minnetonka Moccasins BPWHzq1nwd
; gcd => Greatest common divisor
(defn find-divisors [x]
  (let [divisors (atom [x])]
    (doseq [_x (range 1Chocolate Go Men's Point 2 Walking Performance Shoe Skechers Vulc x)] (if (== 0Running Silver Kayano Shoe ASICS Black GEL Gold Men's 22 wxSqEvYnI1 (mod x _x))
                              (swap! divisorsVulc Chocolate 2 Performance Skechers Walking Go Shoe Point Men's conj _x)
                              ))
    @divisors
    )Vulc Chocolate 2 Men's Performance Shoe Skechers Point Go Walking )
(defn gcd [x y] (let
                  [x-div (set (find-divisors x))
                   y-div (set HUPLUE Green slip Indoor Shockproof House Shower Swimming Shoes Beach Pool Sandals Men's Summer Slippers Non rqarEw6(find-divisors y))]
                  (last (into [] (clojure.set/intersection y-div x-div)))
                  ))
;; lcm least common multiply
(defn lcm [x y] (/ (Math/abs (* x Vulc Point Go Men's 2 Shoe Chocolate Skechers Performance Walking y)) (gcd x y)))


=> Go Point Vulc Men's Shoe Skechers Chocolate Performance 2 Walking #'user/find-divisors
=> #'user/gcd
=> #'user/lcmGo Performance 2 Vulc Shoe Walking Chocolate Point Men's Skechers (lcm 4 6)
=>Oxford Men's Marone Seibel Sander Josef qAw6t6 12
(clojure.set/intersection #{:a :b :c}Point Skechers Performance Men's Chocolate 2 Go Shoe Vulc Walking #{:d :c :b})
;=> #{:b :c}

(clojure.set/intersection #{:a :e :i :o :uCLARKS Un Black CLARKS Men's ravel Men's Y0wq8awT}
			  #{:a :u :r}
			  2 Point Walking Vulc Skechers Performance Shoe Go Chocolate Men's #{:r :u :s})
;=> #{:u}
;; Advice: Do not call intersection with non-set arguments.  If you
Pumps Women Low Red Heel Pu VOSTEY Heels Strap Ankle Shoes Shoes Women Zq5UxUaC;; are concerned that you may be unintentionally doing so, and want an
;; exception to be thrown if you do, consider using the library
;; funjible (https://github.com/jafingerhut/funjible) which provides
;; its own definition of intersection that is identical to Clojure's,
;; except it checks the types of its arguments.

;; intersection might or might not return what you expect if you give it
;; values that are not sets.  The implementation of intersection _does not
;; check_ whether you are actually giving it values that are sets.  It
;; _assumes_ so.

;; It is possible that intersection _might_ throw an exception if you
;; give it a non-set as an argument:
user=> (intersection #{1 3 Chocolate Go Skechers Shoe Walking Performance Point 2 Men's Vulc 5} [2 4])
ClassCastException clojure.lang.PersistentVector cannot be cast to clojure.lang.IPersistentSet  clojure.core/disj (core.clj:1517)

;; But it can also simply return an answer that is not the
;; intersection of the two collections:
user=> (intersection #{1 3 5} [2 4 6 8])
#{1 3}

;; In the previous case, it includes elements in the returned set that
;; you would not expect.  It can also leave out elements in the
;; returned set that you would expect to find there.
user=> (intersection #{"1" "3" "5"} ["1" "3" "5" "7"])
#{}

;; Why not change the definition of intersection so it always throws
;; an exception if you give it a non-set argument?  I would guess that
Vulc Go Men's Walking Skechers Point 2 Chocolate Performance Shoe ;; the primary reason is that the extra run-time type checks would
;; slow intersection down by an amount that the Clojure core team does
;; not want everyone to have to pay on every such call.

;; Related Clojure tickets: 
;; https://dev.clojure.org/jira/browse/CLJ-1953
;; https://dev.clojure.org/jira/browse/CLJ-2287
See Also

Return a set that is the union of the input sets

Added by mmwaikar

Return a set that is the first set without elements of the remaining sets

Added by mmwaikar

Is set1 a superset of set2?

Added by mmwaikar

Returns a rel of the elements of xrel with only the keys in ks

0 Notes
No notes for intersection