当我启动clojure REPL时,我有一些我想预先加载的clojure函数。除非您在REPL的上下文中使用它们,否则这些函数没什么用处。
如果它有帮助,我通常使用leiningen为我开始一个clojure REPL。
我如何告诉clojure(或leiningen,如果它不能通过平坦的clojure获得)为我预加载包含这些定义的clojure文件?
当我启动clojure REPL时,我有一些我想预先加载的clojure函数。除非您在REPL的上下文中使用它们,否则这些函数没什么用处。
如果它有帮助,我通常使用leiningen为我开始一个clojure REPL。
我如何告诉clojure(或leiningen,如果它不能通过平坦的clojure获得)为我预加载包含这些定义的clojure文件?
有几种方法可以做到这一点 莱宁根样本项目 我最喜欢的方法之一就是将你想要的代码放在默认的repl命名空间中
/path/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的,同时仍将其加载到默认命名空间中。
当你跑步 nrepl-jack-in
形成emacs或“lein repl”组成shell,你应该受到欢迎 user>
加载代码的命名空间:
; nREPL 0.1.6
user> foo
42
有几种方法可以做到这一点 莱宁根样本项目 我最喜欢的方法之一就是将你想要的代码放在默认的repl命名空间中
/path/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的,同时仍将其加载到默认命名空间中。
当你跑步 nrepl-jack-in
形成emacs或“lein repl”组成shell,你应该受到欢迎 user>
加载代码的命名空间:
; nREPL 0.1.6
user> foo
42