vik*_*hal 12 clojure read-eval-print-loop
写入(in-ns 'dbx)文件并加载它并不会更改repl的默认命名空间(使用cygwin/console).命名空间仍然是user=>,而不是dbx=>.
vikrant[28] clj
Clojure 1.3.0
user=> (load-file "try1.clj")
#(Namespace dbx)
user=>
Run Code Online (Sandbox Code Playgroud)
我们如何在脚本文件中定义的命名空间中启动REPL?
Car*_*tes 24
如今是:repl-options {:init-ns foo.bar}.
请参阅https://github.com/technomancy/leiningen/blob/master/sample.project.clj
如果您使用Leiningen构建项目,请将其添加到项目的project.clj文件中:
(defproject test "1.0.0-SNAPSHOT"
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.2.1"]]
:main test.core)
Run Code Online (Sandbox Code Playgroud)
在您的src/test/core.clj文件中,添加此项以创建test.core命名空间:
(ns test.core)
(defn -main [& args])
Run Code Online (Sandbox Code Playgroud)
接下来,与Leiningen一起构建您的项目lein compile.然后输入lein repl以调用命名空间中的REPL.REPL提示符如下所示:
test.core=>
Run Code Online (Sandbox Code Playgroud)
java -cp .;clojure-1.3.0.jar; clojure.main -e \
"(ns dbx) (clojure.main/repl) (in-ns 'dbx) (clojure.core/use 'clojure.core)"
Run Code Online (Sandbox Code Playgroud)