私はlein2を使用しています。repl の開始時に、デフォルトでいくつかの ns をロードしたいと思います。そのプロジェクトに対して lein2 repl が実行されたときに、ロードする必要がある ns を project.clj で指定することは可能ですか?
質問する
3387 次
2 に答える
13
サンプルプロジェクトで多くの答えを見つけることができます
;; Options to change the way the REPL behaves
:repl-options {;; Specify the string to print when prompting for input.
;; defaults to something like (fn [ns] (str *ns* "=> "))
:prompt (fn [ns] (str "your command for <" ns ">, master? " ))
;; Specify the ns to start the REPL in (overrides :main in
;; this case only)
:init-ns foo.bar
;; This expression will run when first opening a REPL, in the
;; namespace from :init-ns or :main if specified
;; This expression will run when first opening a REPL, in the
;; namespace from :init-ns or :main if specified
:init (println "here we are in" *ns*)
project.clj
私が手元に持っていたを使用して:
(defproject test "1.0.0"
:repl-options { :init-ns test.core
:init (do
(use 'clojure.set)
(println (union #{1 2 3} #{3 4 5}))
(use 'incanter.core)
(println (factorial 5))) }
:dependencies [[org.clojure/clojure "1.4.0"]
[incanter/incanter-core "1.3.0-SNAPSHOT"]])
私が火をつけるとき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=>
于 2012-09-08T13:23:51.747 に答える
5
:injections
オプションを使用してproject.clj
名前空間をロードすることがあります。次の例では、コマンドの実行foo.bar
時に名前空間をロードし
ます。lein2
(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)])
于 2012-09-08T13:31:44.553 に答える