Следующий код:
(require '[clojure.set])
(println (clojure.set/difference '("a" "b" "c" "d") '("c" "d" "e" "f")))
дает мне следующую ошибку:
java.lang.ClassCastException: clojure.lang.PersistentList (repl-1:47)
Я не понимаю то, что я делаю неправильно. Разве это не должно распечатывать ("a" "b")?
Это списки, а не наборы.
(println (clojure.set / difference # {"a" "b" "c" "d"} # {"c" "d" "e" "f"}))
Я думаю, что вам не нужно требовать '[clojure.set]
. Похоже, что он автоматически загружается вместе с ядром. Если просто запустить repl и набрать нижеприведенный текст, то все работает (по крайней мере, у меня).
user=> (clojure.set/difference (set '(1 2 3)) (set '(3 4 5)))
\#{1 2}