Clojure 中的 reduce1 函数是什么?

4

reduce1 不在 clojure.core 库中吗? 我正在使用带有 CIDER 的 Emacs,但是我没有 reduce1 函数,(doc reduce1) 返回值为 nil


你只将这标记为 clojure,但我们怎么知道 reduce1 函数是做什么的?你能描述一下你缺失的这个函数吗? - ClojureMostly
1
我正在检查mergereduce1的源代码,发现在那里使用了reduce1,所以我去查找它,但是在我的1.7版本中没有找到。看起来它是从1.8版本开始添加到clojure.core中的。(https://crossclj.info/ns/org.clojure/clojure/1.8.0-RC1/clojure.core.html#_reduce1) - user4813927
1
reduce1 是 Clojure 核心的一个实现细节。不要使用它。它可能会消失,甚至在 ClojureScript 或 Clojure for CLR 中可能不存在。 - Thumbnail
2个回答

7

reduce1是Clojure的引导过程中使用的私有 reduce 函数。它的存在是因为有些 reduce 需要的东西还没有被加载。在你自己的代码中不应该使用 reduce1,而应该始终使用 reduce


一个函数被称为私有函数是什么意思? - user4813927
2
它不能在其自身的命名空间之外使用。 - NielsK

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接