Operações em sets
Unir
A função conj (“conjoin”) adiciona elementos ao conjunto.
Se o elemento já existir, o valor do conjunto permanece inalterado devido à restrição de duplicatas.
(def players #{"Alice" "Bob" "Kelly"})
(conj players "Fred")
;; => #{"Alice" "Fred" "Bob" "Kelly"}
(conj players "Alice")
;; => #{"Alice" "Bob" "Kelly"}
Remoção
A função disj (“disjoin”) remove um ou mais elementos. É seguro tentar remover elementos que não existem no conjunto original.
(disj players "Bob" "Sal")
;; => #{"Alice" "Kelly"}
Verificação de Pertencimento
A função contains? checa a existência de um elemento, retornando um valor de booleano.
(contains? players "Kelly")
;; => true
(contains? players "John")
;; => false