以下代码:
(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”)?
答案 0 :(得分:15)
这些是列表,而不是集合。
(println (clojure.set/difference #{"a" "b" "c" "d"} #{"c" "d" "e" "f"}))
答案 1 :(得分:4)
我认为你不需要require '[clojure.set]
。它似乎是自动加载核心。刚刚开始一个repl,并输入以下内容(至少对我而言)。
user=> (clojure.set/difference (set '(1 2 3)) (set '(3 4 5)))
\#{1 2}