欢迎!请访问关于页面了解这个系统的更多信息。
当前=的文档字符串说明> 以类型无关的方式比较数字和集合
=
这听起来像是在比较数值,检查数轴上的点是否重合。
但实际上
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”。