查看=
(defn ^boolean =
"Equality. Returns true if x equals y, false if not. Compares
numbers and collections in a type-independent manner. Clojure's immutable data
structures define -equiv (and thus =) as a value, not an identity,
comparison."
([x] true)
([x y]
(if (nil? x)
(nil? y)
(or (identical? x y)
^boolean (-equiv x y))))
([x y & more]
(if (= x y)
(if (next more)
(recur y (first more) (next more))
(= y (first more)))
false)))
以下情况让我感到惊讶:
(= [1] #{1})
因为一个向量是集合,一个集合也是一个集合,所以当它说
以类型无关的方式比较数字和集合。
我认为它应该这样说
以类型无关的方式比较数字、序列、映射和集合。
。