Sie haben nur von clojure core getrunken, was bedeutet, dass jede andere Kernfunktion nicht mehr für Sie verfügbar ist. Versuchen Sie, ns
so zu ändern, dass :require
anstelle von :use
, as verwendet wird das ist idiomatischer.
Beachten Sie, dass die Reihenfolge in clojure von Bedeutung ist. Wenn Sie also keine Funktion oben in Ihrer Datei deklarieren, wie in C und einigen anderen Sprachen, können die früheren Funktionen nicht darauf verweisen Sie. Dies hat Ihren Fehler verursacht und deshalb möchte ich meine Funktion -main
unten definieren. Es ist eine Frage des Stils.
Eine andere Sache ist, dass Ihre Funktion -main
gerade variable Argumente verwendet und sie nicht verwendet. In Clojure ist es idiomatisch, _
zu verwenden, um auf einen Parameter zu verweisen, der nicht verwendet wird. Sie könnten & _
verwenden, um Fehlermeldungen zu vermeiden, wenn der Benutzer unnötige Argumente übergibt, aber ich hätte einfach die Funktion -main von Anfang an parameterlos. Dies liegt daran, dass main bei der Ausführung des Programms nichts bereitstellen muss und Fehler das Debuggen erleichtern. Es ist gut zu wissen, was gebraucht wird und wo. Die sample.csv
-Datei ist bereits vorhanden und hat read-file
aufgerufen, daher sollte das Programm ausgeführt werden, wenn Ihre read-file
-Funktion korrekt ist und die sample.csv
-Datei am richtigen Ort ist.
In Bezug auf Ihre -main
-Funktion wäre es nett, einen kleinen Test dort zu setzen, um zu sehen, ob er richtig ausgeführt wird, also habe ich ihn geändert, um den Inhalt der CSV-Datei auf Ihrer Konsole auszugeben. Diese Art, aus einer Datei zu drucken, ist effizient und lohnt sich selbst.
Stellen Sie schließlich sicher, dass Sie clojure-csv.core
in Ihre project.clj
-Datei einfügen.
core.clj:
%Vor%project.clj:
%Vor% Sie müssen wie oben gezeigt fileops.core als: main deklarieren. Dies teilt Leiningen mit, welche Funktion ausgeführt werden soll, wenn Sie lein run
eingeben. Sehr wichtige und knifflige Sachen.
Stellen Sie nun sicher, dass Sie sich im Stammverzeichnis Ihres Projektverzeichnisses befinden und führen Sie am Terminal Folgendes aus:
%Vor%Viel Glück!
Weiterführende Literatur:
Tags und Links clojure