如何在leiningen repl中预加载clojure文件



我有一些clojure函数,希望在启动clojure REPL时预先加载。除非您在REPL的上下文中使用这些函数,否则这些函数用处不大。

如果有帮助的话,我通常会使用leiningen为我启动clojure REPL

我如何告诉clojure(或者leiningen,如果它不能通过平面clojure获得)为我预加载一个包含这些定义的clojure文件?

莱宁根示例项目中描述了几种方法我最喜欢的方法之一是将您想要的默认repl命名空间中的代码放入

/路径/to/project/dev/user.clj:

(ns user)
(def foo 42)

并在project.clj文件中添加这样一行:

(defproject hello "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.5.1"]]
  :source-paths ["dev"])

这清楚地表明,这是针对dev的,同时仍将其加载到默认命名空间中。

当您从shell运行nrepl-jack-in表单emacs或"lein-repl"时,应该会收到一个加载了代码的user>命名空间:

; nREPL 0.1.6
user> foo
42

最新更新