欢迎!有关如何使用本服务的更多信息,请参阅关于页面。
当前=的文档字符串表示> 以一种类型无关的方式比较数字和集合
=
这听起来像是在通过数值比较数字,检查数轴上的点是否重合。
而实际上
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 图像中的文档字符串长度,我们可以在文档字符串中添加类似类似 "有关更多信息,请参阅 https://clojure.org/guides/equality" 的句子。