Wenn Sie (in-ns 'dbx)
in eine Datei schreiben und diese laden, wird der Standard-Namespace des repl nicht geändert (mit cygwin / console). Der Namespace ist immer noch user=>
, nicht dbx=>
.
Wie können wir die REPL in einem Namespace starten, der in einer Skriptdatei definiert ist?
Heutzutage ist :repl-options {:init-ns foo.bar}
.
Siehe Ссылка
Wenn Sie Leiningen verwenden, um Ihr Projekt zu erstellen, fügen Sie dieses zur project.clj
-Datei Ihres Projekts hinzu:
Fügen Sie in Ihrer Datei src/test/core.clj
Folgendes hinzu, um einen test.core
namespace zu erstellen:
Baue als nächstes dein Projekt mit Leiningen mit lein compile
. Geben Sie dann lein repl
ein, um die REPL in Ihrem Namespace aufzurufen. Die REPL-Eingabeaufforderung sieht wie folgt aus:
Zusätzlich zur Antwort von Carlos , die :repl-options {:init-ns foo.bar}
vorschlägt, hatte ich auch Erfolg beim Hinzufügen von :dev {:main user}
zu meinem profile.clj.
Um mehr Kontext zu geben:
%Vor%Es gibt einen viel besseren Weg, dies in den letzten Clojure-Versionen zu tun:
java -cp myapp.jar clojure.main -m myapp.core
Tags und Links read-eval-print-loop clojure