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

欢迎!请查阅 关于 页面以了解更多关于该工作原理的信息。

+3 次投票
转换器

关于 partition-all 的文档(链接:1)指出,如果不提供 coll,则返回一个转换器。这对于形式(partition-all n)来说是正确的,但对于(partition-all n step)来说则是不正确的。我没有看出有明确的方式来组合核心中的转换器以产生这种“滑动窗口”转换器,例如。

user=> (into (链接: ) (partition-all 2 1) (链接:1 2 3 4 5))
((1 2) (2 3) (3 4) (4 5) (5))

当然,上述假设的(partition-all n step)与非转换器生成的具体形式(partition-all n coll)之间存在参数数量冲突,这可能通过对第二个参数的类型进行切换来解决,或者通过提供一个单独的函数中的功能来实现,例如(sliding window-size step-size),或者通过其他方式。

我在这里参考现有的(partition-all n)转换器实现了这个函数:https://gist.github.com/nornagon/03b85fbc22b3613087f6

将类似的东西集成到核心中是否合理?

(链接:1):https://docs.clojure.org/clojure.core/partition-all

1 个答案

0 次投票
参考: https://clojure.atlassian.net/browse/CLJ-1858 (由 alex+import 报告)
...