欢迎!请参阅关于页面以获取更多关于如何使用此功能的信息。
首先,core.reducers 需要 clojure.walk :as walk,但不使用别名。其次,函数 reducer 中 coll-reduce 的两个参数实现使用 'this',而该文件中类似实现使用 'coll'。据我所知,使用 'coll' 没有任何区别(所有测试通过,性能没有变化)且更符合其他代码的编写方式。
这两件事看起来足够小,可以合并到一个清理案例中。
评论者:wagjo
您的补丁是错误的。如果您想用 coll 替换它,您还需要在 f1 上调用 xf。
`(clojure.core.protocols/coll-reduce this f1 (f1))`
`
变为
`(clojure.core.protocols/coll-reduce coll (xf f1) (f1))`
评论者:ska2342
令人惊讶的是测试套件没有检测到这一点。
评论者:jafingerhut
添加一个能够检测该问题的测试是否简单直接?
我很乐意进行调查。可能需要几天时间,在此期间我将找到时间。