请在 2024 年 Clojure 状态调查 中分享您的想法!

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

+2
文档

partition-all 当前表示它返回一个表示列表的集合。然而,当作为 transducer 使用时,它返回表示向量。

2 个答案

0

评论由:pbwolf 创建

列表和向量之间的差异不仅是装饰性的!

这看起来不是一个文档错误。函数的 transducer 风格未能满足明确的契约。

另一方面,这只是一个文档错误,并且 partition-all 有时生成列表,有时生成向量,这取决于您程序中有细微的配置,您可能会出于计算原因更改该配置,而忽略了返回的结构,从而可能导致所有的下游 conj 无意中出现问题 ... 那么,文档错误基本上是这些年来文档已过于详细地陈述了一个内部实现细节,承诺了列表,而安全消费 partition-all 结果的方法是仅使用序列函数。

是的,文档字符串已经过度陈述了多年来您应期望的内容。transducer 是新的,因此使其不同不会破坏任何现有代码。
0
参考: https://clojure.atlassian.net/browse/CLJ-2329(由 aralo 报告)
...