返回的 Clojure 结果总是函数而不是结果

标签 clojure read-eval-print-loop

所以我遇到了麻烦,每次我评估 Clojure 函数,或输入 REPL 并调用它时,我都没有得到结果,而是类似 #function[clojure.core/map/fn--5880]

是什么导致了这个问题?我应该得到像这里的列表这样的结果,但我没有。如果我要在 REPL 中定义所有内容并运行它,结果会很好。

我输入的内容大多无关紧要,任何稍微先进的内容都会导致这种情况。

更多细节:

应要求。

    (def filename "tester.csv")
    
    (defn parse
      "Convert a CSV into rows of columns"
      [string]
      (map #(clojure.string/split % #"\n")))

在 REPL 中:

    (parse (slurp filename))

最佳答案

在这个特定的例子中,你得到了function[clojure.core/map/fn--5880],我们可以从名字中推断出这是一个在clojure 中定义的辅助函数。核心/ map 。这是一个转换器,当仅使用一个参数调用 map 时返回该转换器。如果你想要一个集合,给 map 一个函数和(至少)一个集合。

关于返回的 Clojure 结果总是函数而不是结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72202986/

相关文章:

java - 使用 JNI 库时,Clojure REPL 上存在链接器错误,但编译后的 jar 上没有链接器错误

java - 如何在 Clojure 中匹配 Java 方法签名

clojure - 处理 seq 直到 pred 函数为真

clojure classpath(?) 使用 leiningen 加载代码和依赖项时遇到问题

clojure - 如何绑定(bind)使用自身的表达式?

c# - 如何使用 F# Interactive 以交互方式测试 C# 函数

dictionary - Clojure:更新,但带有通配符和路径跟踪

clojure - 使用 clojure.main/repl 时如何获得类似 readline/rlwrap 的功能?

node.js - 在 Emacs 中使用带有 JS-comint 的 Node.js

parsing - 在 Haskell 应用程序中创建 Haskell REPL