【问题标题】:Getting Clojure to run (lein repl)让 Clojure 运行 (lein repl)
【发布时间】:2014-11-28 04:13:28
【问题描述】:

我只是想设置 Clojure。这是我试图在 lein repl 中运行的一些代码:

(def numbers (into [] (range 0 100)))
(sum numbers)

但我收到此错误:

CompilerException java.lang.RuntimeException: 无法解决 符号:在此上下文中求和,编译:(NO_SOURCE_PATH:1:1)

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

【问题讨论】:

    标签: clojure


    【解决方案1】:

    我不确定您要调用哪个sum 函数,但您可以使用reduce

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

    【讨论】:

    • 我的错。这段代码来自我正在学习该语言的一本书。我没有意识到sum 不是内置函数,而是他们定义为引入reducefold 的一种方式。感谢您为我指出这一点。
    • 这是有道理的。祝你好运!
    • 你为什么在这个答案中引用+?一些琐事:在这种情况下,可以使用 apply 代替 reduce 来获得相同的结果(对于许多其他采用可变参数计数的函数来说也是如此)
    • 这个报价太糟糕了。固定。
    猜你喜欢
    • 1970-01-01
    • 2012-04-15
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 2022-09-14
    • 2016-02-21
    • 2014-02-13
    相关资源
    最近更新 更多