Ich bin ein absoluter Anfänger in Clojure. Ich habe clojure1.6 und lein (ich benutze ubuntu 15.04). Wie kann ich die Clojure-Datei, die ich mit dem Terminal erstellt habe, ausführen? Gibt es dafür einen Befehl wie clojure file.clj
? Ich schätze Ihre Hilfe!Wie starte ich eine Clojure-Datei?
Antwort
Sie sollten lesen Leiningen readme und tutorial, und vielleicht folgen Sie ein einfaches Tutorial für Ihre Lieblings-Editor.
$ lein run -m my.namespace # run the -main function of a namespace
Die einfache Antwort:
Wenn 'clojure' ein Skript oder ein Alias ist, die Clojure ausgeführt wird (von Java mit entsprechenden Befehlszeilenargumente ausgeführt wird), und „foo .clj“ist der Name Ihres Clojure-Quelldatei, dann können Sie nur
clojure foo.clj
eingeben Wenn dies nicht funktioniert es ist, dann, weil kein solches Skript in Ihrem Weg ist, aber Sie können ein Skript, dessen Inhalt in etwa so aussehen machen:
#!/bin/sh
java -cp /usr/lib/clojure-1.6.0.jar clojure.main "[email protected]" -r
Sie müssen herausfinden, wo die Clojure JAR-Datei ist, und das Stück ersetzen nach -cp
. Bei Leiningen haben Sie wahrscheinlich eine Version dieser Datei unter ~/.m2.
Wenn Sie Clojure starten, und eine REPL Prompt erhalten, dann können Sie eingeben:
(load-file "foo.clj")
oder
(load-file "<path to foo.clj>/foo.clj")
Die gute Antwort:
See Shlomi und Daniel Comptons Antworten.
Wenn Sie mit Clojure anfangen, kann es eine kleine Lernkurve darüber geben, wie Sie Ihre Verzeichnisstruktur und Dateinamen einrichten, um problemlos mit Leiningen und Clojure zu arbeiten. (Wenn Sie Java gut kennen, ist das ein bisschen einfacher.) Wenn Sie sich jedoch mit Leiningens project.clj-Datei vertraut gemacht haben und wissen, wie Sie Ihre Quelldateien und Namespaces einrichten (nachdem Sie Namespaces kennengelernt haben!), Tun Sie etwas in konventionelle Art wird Ihr Leben mit Clojure viel einfacher machen, als wenn Sie einfach weiter -m
und load-file
verwenden. (Clojure ist wirklich besser für die Entwicklung kleiner oder großer Projekte als für die Ausführung einzelner Skripte. Clojure braucht zu lange, um als Skriptsprache verwendet zu werden, und mit Leiningen dauert es noch länger.)
Zuerst Von allen Clojure-Programmierern wird die REPL häufiger verwendet als eigenständige Dateien. Aber wenn Sie Dateien ausführen möchten, würde ich Boot für schnelle Hacks empfehlen.
Installationsanweisungen für Unix sind auf der Github Boot project page.Sobald Sie den Boot installiert haben, erstellen Sie eine Datei main.boot
enthält genannt:
#!/usr/bin/env boot
(defn -main [& args]
(println "Hello world!")
(System/exit 0))
Dann ist es ausführbar machen und führen Sie es:
$> chmod a+x main.boot
$> ./main.boot
Hello world!
- 1. Wie starte ich eine QApplication?
- 2. Wie starte ich eine Abfrage mit NSFetchedResultsController
- 3. Wie starte ich eine Anwendung in C#?
- 4. Wie starte ich eine Webanwendung mit Eclipse
- 5. Wie starte ich eine neue Zeile?
- 6. Wie starte ich eine VM in azurblau?
- 7. Wie starte ich eine .awk-Datei?
- 8. N2Cms Wie starte ich
- 9. Wie starte ich BouncyCastle?
- 10. Wie starte ich QGIS?
- 11. Wie starte ich einen Thread?
- 12. Wie starte ich eine Absicht, indem ich einige Parameter übergebe?
- 13. Wie oft starte ich autoconf?
- 14. Wie starte ich das Debugging?
- 15. Wie starte ich Blackberry Programmierung?
- 16. Wie starte ich Snort Software?
- 17. Wie starte ich Matlab Profiler
- 18. Wie starte ich mit andengine?
- 19. Wie starte ich MySQL Befehle?
- 20. PHP & MySQL - Wann starte ich eine Website
- 21. Wie starte ich eine Aktivität nach einem bestimmten Zeitraum?
- 22. Wie starte ich eine Rails-Konsole mit ausgeschaltetem Hebel?
- 23. Wie starte ich eine Liste <Task> parallel?
- 24. Wie starte ich eine Mac-Anwendung ohne ein Terminalfenster
- 25. Wie starte ich eine einzelne Testdatei mit Karma/Jasmine?
- 26. Wie starte ich Minty und führe eine Skriptdatei aus?
- 27. Wie starte ich eine neue Aktivität in der gleichen Registerkarte?
- 28. Wie starte ich Bootstrap, um eine Website zu erstellen?
- 29. Wie starte ich eine Spring Boot Web Application ohne ComponentScan
- 30. Wie starte ich eine Sammlung in Backbone.js nur mit Javascript
Dies könnte auch hilfreich sein: Hier ist, wie Sie ein einfaches Clojure-Programm mit nur 'java' ohne' lein' ausführen: https://stackoverflow.com/questions/30151387/cant-see-printed-values-if-launch -script-with-java/30167378 # 30167378 – lispHK01