Clojure 如何在启动repl时默认加载ns

Clojure 如何在启动repl时默认加载ns,clojure,leiningen,Clojure,Leiningen,我正在使用lein2。我想在repl启动时默认加载一些ns。当为该项目执行lein2 repl时,是否可以在project.clj中指定应加载的ns?在 当我启动时lein repl $ lein repl nREPL server started on port 1121 REPL-y 0.1.0-beta10 Clojure 1.4.0 Exit: Control+D or (exit) or (quit) Commands: (user/help) Docs: (doc f

我正在使用lein2。我想在repl启动时默认加载一些ns。当为该项目执行lein2 repl时,是否可以在project.clj中指定应加载的ns?

当我启动时
lein repl

$ lein repl
nREPL server started on port 1121
REPL-y 0.1.0-beta10
Clojure 1.4.0
    Exit: Control+D or (exit) or (quit)
Commands: (user/help)
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
          (user/sourcery function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
Examples from clojuredocs.org: [clojuredocs or cdoc]
      (user/clojuredocs name-here)
      (user/clojuredocs "ns-here" "name-here")
#{1 2 3 4 5}
120.0
test.core=>

我有时在
project.clj
中使用
:injections
选项 加载名称空间。下面的示例将加载 执行
lein2
命令时的
foo.bar
命名空间:

(defproject org.example/sample "0.1.0-SNAPSHOT"
  :description "A sample project"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :injections [(use 'foo.bar)])

这就是
:repl options{:init expr}
对于hanks@noahz的意义。我希望能够指定fn中的3个语句是我想要执行的,我该如何执行-:repl options{:init(fn[uz](use'ring.util.service)(use'mfaiz.routes)(service mfaiz.routes/my app))}您只是在定义一个函数,因此,添加第二组括号和所需的参数来调用它<代码>((fn[](println)“foo”)这样做了,这是它给我的错误-CompilerException java.lang.RuntimeException:无法解析符号:在此上下文中服务,编译:(无源路径:1)更新了我的答案,证明我提供的解决方案有效。似乎你已经进入了一个新问题。也许可以打开一个新问题并发布更多的项目。clj?谢谢@noahz!感谢你的帮助。我希望有一种方法可以给一个有帮助的答案分配更多的分数!
$ lein repl
nREPL server started on port 1121
REPL-y 0.1.0-beta10
Clojure 1.4.0
    Exit: Control+D or (exit) or (quit)
Commands: (user/help)
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
          (user/sourcery function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
Examples from clojuredocs.org: [clojuredocs or cdoc]
      (user/clojuredocs name-here)
      (user/clojuredocs "ns-here" "name-here")
#{1 2 3 4 5}
120.0
test.core=>
(defproject org.example/sample "0.1.0-SNAPSHOT"
  :description "A sample project"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :injections [(use 'foo.bar)])