Zu Beginn bin ich kein Java-Programmierer, daher wäre es hilfreich, wenn Ihre Antworten nicht in Java definiert sind (sofern das Sinn macht).
Ich habe ein Leiningen-Projekt (speziell ein Web-Projekt, das noir verwendet), wobei ich ein gängiges Muster benutze, um deine clojure-Quelldateien einzufügen %Code%. Bis jetzt hatte ich Erfolg beim Hinzufügen von Verzeichnissen und Dateien, und ich habe den Dateipfad als Basis für src/YOUR-NAMESPACE/
verwendet (nach dem Muster, das ich im generierten Code sehe).
Ich habe eine neue Datei hinzugefügt, die nicht funktioniert hat, und ich frage mich warum. Der Pfad ist ns
und der Namespace ist PROJECT-ROOT/src/bayou/lib/api-helpers.clj
. Der spezifische Fehler, den ich bekomme, ist:
(ns bayou.lib.api-helpers)
Was sind alle Schritte, die man unternehmen muss, damit clojure einen Namensraum erkennt?
Das Problem ist der Bindestrich im Namensraum.
Aus der Freude von Clojure
HYPHEN / UNDERSCORES Wenn Sie sich entscheiden, Ihre Namespaces mit zu benennen Bindestriche, à la my-cool-lib, dann muss die entsprechende Quelldatei sein mit Unterstrichen anstelle der Bindestriche (my_cool_lib.clj) benannt.
Hier ist die grundlegende Erklärung: Ссылка