clojure - 我可以将内容配置为 Clojure REPL 自动需要的内容吗?

标签 clojure read-eval-print-loop

有些功能非常通用,无论我当前切换到哪个命名空间,我都希望它们始终在 REPL 中可用。

有没有办法将 lein repl 配置为自动要求某些东西以便它们在全局范围内可用?另一种方法是调用类似 (use 'clojure.tools.trace).

最佳答案

Leiningen 2.x 支持 :repl-options 来改变你的 REPL 的行为方式,including :init hook . Leiningen 会在第一次打开 REPL 时运行这个钩子(Hook),所以它只会影响你的 :main 命名空间。

以下是使用此选项的示例:

  :repl-options { :init (require '[criterium.core
                                    :refer [bench quick-bench]])}

您可以在相应的 project.clj 文件中为每个项目在本地设置 :repl-options,也可以通过将其放入 ~/来全局设置.lein/profiles.clj 文件:

{:user {:repl-options {:init (...)}}} 

关于clojure - 我可以将内容配置为 Clojure REPL 自动需要的内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29600356/

相关文章:

clojure - 如何在 Clojure 映射中排序键?理想情况下,根据键向量对它们进行排序

clojure - 如何在Clojure中解释 map 键?

python - IPython 和 REPL 在没有打印功能的情况下显示数据时表现不同

clojure - 无法理解 :state in Clojure

clojure - 为什么从 Clojure 中的 catch 部分重复是非法的

clojure - 引用错误 : "goog" is not defined when running lein cljsbuild

clojure - 根据键将映射中的函数应用于映射中的每个值

perl - 如何使 Devel::REPL 输出人类可读的 Unicode?

emacs - 为什么 REPL 将 clojure.core/doc 视为 var?

java - 为什么 Java 没有 REPL?