欢迎!请参阅关于页面获取更多有关此信息。
=当前的文档字符串表示> 以类型无关的方式比较数值和集合
=
这听起来像是在比较数值,检查数轴上的点是否重合。
但实际上
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" 的句子。