让Clojure运行(lein repl)

让Clojure运行(lein repl),clojure,Clojure,我只是想让Clojure做好准备。以下是我试图在lein repl中运行的一些代码: (def numbers (into [] (range 0 100))) (sum numbers) 但我得到了这个错误: CompilerException java.lang.RuntimeException:无法解析 symbol:sum在此上下文中编译:(无源路径:1:1) 我不知道这是什么意思。我的安装错误吗?我不确定您试图调用的是哪个sum函数,但您可以使用reduce: user=> (

我只是想让Clojure做好准备。以下是我试图在lein repl中运行的一些代码:

(def numbers (into [] (range 0 100)))
(sum numbers)
但我得到了这个错误:

CompilerException java.lang.RuntimeException:无法解析 symbol:sum在此上下文中编译:(无源路径:1:1)


我不知道这是什么意思。我的安装错误吗?

我不确定您试图调用的是哪个
sum
函数,但您可以使用
reduce

user=> (def numbers (into [] (range 0 100)))
#'user/numbers
user=> (reduce + numbers)
99

我的错。这段代码来自一本书,我正在学习这门语言。我没有意识到,
sum
不是一个内置函数,而是一个他们定义为引入
reduce
fold
的方法。谢谢你为我指出这一点。这很有道理。祝你好运你为什么在这个答案中引用
+
?一点小技巧:在这种情况下,可以使用
apply
而不是
reduce
来获得相同的结果(这对于采用可变参数计数的许多其他函数也是如此)对引号发出呼喊。固定的。