Clojure 2024 状态调查! 中分享您的看法。

欢迎!请参阅关于 页以了解更多有关此功能的信息。

+2
文档

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

2 答案

0

评论者:pbwolf

列表和向量之间的区别远不止装饰性的。

这看起来不是一个文档错误。该函数的 transducer 版本未能满足一个明确的合同。

或者,这只是文档错误,partition-all 有时产生列表,有时产生向量,这取决于您程序的微妙配置,您可能出于计算原因而更改此配置,而对返回的结构性质并未充分考虑,因此无意中破坏了所有下游的conj...那么这个文档错误实际上就是文档已经多年来过度声明了一个内部实现细节,承诺返回列表,而安全地消费 partition-all 结果的方式只能是使用序列函数。

是的,该文档字符串多年来夸大了您的期望。转换器是新的,使其不同不会破坏现有的代码。
0
by
参考: https://clojure.atlassian.net/browse/CLJ-2329 (由 aralo 报告)
...