Wie starte ich die REPL in einem benutzerdefinierten Namespace?

8

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=> .

%Vor%

Wie können wir die REPL in einem Namespace starten, der in einer Skriptdatei definiert ist?

    
vikbehal 29.11.2011, 05:10
quelle

6 Antworten

1
%Vor%     
BLUEPIXY 29.11.2011, 10:52
quelle
20

Heutzutage ist :repl-options {:init-ns foo.bar} .

Siehe Ссылка

    
Carlos Fontes 23.06.2014 11:31
quelle
6

Wenn Sie Leiningen verwenden, um Ihr Projekt zu erstellen, fügen Sie dieses zur project.clj -Datei Ihres Projekts hinzu:

%Vor%

Fügen Sie in Ihrer Datei src/test/core.clj Folgendes hinzu, um einen test.core namespace zu erstellen:

%Vor%

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:

%Vor%     
Abimaran Kugathasan 29.11.2011 12:38
quelle
1

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%     
David J. 12.05.2015 15:50
quelle
0

(ns dbx) (clojure.main/repl) (in-ns 'dbx) (clojure.core/use 'clojure.core)

    
vikbehal 30.11.2011 04:24
quelle
0

Es gibt einen viel besseren Weg, dies in den letzten Clojure-Versionen zu tun:

java -cp myapp.jar clojure.main -m myapp.core

    
noisesmith 28.03.2015 16:57
quelle

Tags und Links