欢迎!请查看 关于 页面以了解更多关于如何使用本网站的信息。
= 的当前文档字符串说明> 以类型无关的方式比较数字和集合
=
这听起来好像它是通过值来比较数字,检查数字线上点是否重合。
然而在现实中
user=> (= 1. 1) false
在 https://clojure.org/guides/equality#_summary 的页面解释了为什么,但最好是在文档字符串中也包含这些信息。
遵循相同的文档字符串,我看到了一些关于以下内容的困惑> 与 Java 中的 x.equals(y) 相同,但它也适用于 nil
人们期望它的意思与上面相同
(defrecord Foo [a]) (= (Foo. 1) {:a 1}) ;; => false (.equals (Foo. 1) {:a 1}) ;; => true
我不知道 Clojure 维护者对这个想法的看法,但一个会让许多人更容易找到详细信息的方法,而又不会显著增加编译到 Clojure 图像中的 doc 文档字符串长度,是在 doc 字符串中添加一句像 "关于更多详细信息,请参阅 https://clojure.org/guides/equality" 的话。