我希望在启动 clojure REPL 时预加载一些 clojure 函数。这些函数没有多大用处,除非您在 REPL 上下文中使用它们。
如果有帮助,我通常使用 leiningen 为我启动 clojure REPL。
我如何告诉 clojure(或 leiningen,如果它无法通过平面 clojure 获得)为我预加载包含这些定义的 clojure 文件?
有几种方法可以做到这一点,参见leiningen 示例项目 https://github.com/technomancy/leiningen/blob/master/sample.project.clj我最喜欢的方法之一是将默认 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"])
这清楚地表明这是针对开发人员的,同时仍将其加载到默认命名空间中。
当你跑步时nrepl-jack-in
形成 emacs 或“lein repl”形成 shell,您应该会看到user>
加载代码的命名空间:
; nREPL 0.1.6
user> foo
42
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)