请分享您的观点,参加2024年Clojure状态调查!

欢迎!请参阅关于页面,了解更多有关如何操作的信息。

0
文档

关于{{sort}}的文档似乎不完整

  • {{sort}}在一些情况下可以返回{{nil}}。在CTYP-228中有一个关于更多背景的讨论。以下是一个由Nicola Mometto提供的复现案例: http://sprunge.us/VIFc?clj。文档字符串表示sort "返回coll中元素的排序序列",并没有说明sort可以返回{{nil}}。

  • 声明说比较器必须实现java.util.Comparator,但这并不正确 - 比较器可以是任何可以接受两个参数并返回布尔值或数字的IFn。

对于第一个问题(nil返回),将实现修改为始终不返回nil可能是一个更整洁的解决方案。对于第二个问题,文档字符串可以引用有效比较函数的描述,这些函数可以被其他接受比较器的函数引用(例如,{{sort-by}}, {{sorted-set-by}}, {{sorted-map-by}})。

4 个回答

0

评论者:alexmiller

第一个问题已在CLJ-1763中解决,所以我将把它从工单中删除。

第二个从技术上讲是正确的 - Arrays.sort()将会被调用,它需要一个Comparator。难点在于AFn基类实现了Comparator,所以所有从它扩展并支持2-arg函数的实现都满足这个约束。但最好是把这个讲得更清楚。

0

评论者:marc

0

评论者:alexmiller

0
...