Jestem absolutnie początkujący w clojure. Mam clojure1.6 i lein (używam ubuntu 15.04). Jak mogę uruchomić plik clojure, który utworzyłem przy użyciu terminala? Czy jest jakieś polecenie takie jak clojure file.clj
? Doceniam twoją pomoc!Jak uruchomić plik Clojure?
Odpowiedz
Powinieneś przeczytać Leiningen readme i tutorial, a może po prosty samouczek dla swojego ulubionego edytora.
$ lein run -m my.namespace # run the -main function of a namespace
Prosta odpowiedź:
Jeśli 'clojure' jest skrypt lub pseudonim, który będzie działał Clojure (uruchamiając Java z odpowiednimi argumentami wiersza poleceń) oraz „foo .clj”to nazwa pliku źródłowego Clojure, można po prostu wpisać
clojure foo.clj
Jeśli to nie zadziała , To dlatego, że nie ma takiego skryptu jest na swojej drodze, ale można zrobić skrypt, którego zawartość wygląda mniej więcej tak:
#!/bin/sh
java -cp /usr/lib/clojure-1.6.0.jar clojure.main "[email protected]" -r
Musisz dowiedzieć się, gdzie znajduje się plik jar Clojure jest i zastąpić kawałek po -cp
. Z Leiningen prawdopodobnie masz wersję tego pliku pod ~/.m2.
Jeśli zaczniesz się Clojure i uzyskać wiersz rEPL, można wpisać:
(load-file "foo.clj")
lub
(load-file "<path to foo.clj>/foo.clj")
Dobrą odpowiedź:
See Shlomi i Daniel Odpowiedzi Comptona.
Kiedy zaczynasz z Clojure, może być trochę krzywej uczenia się, jak skonfigurować strukturę katalogów i nazwy plików, aby z łatwością pracować z Leiningen i Clojure. (Jeśli dobrze znasz Javę, jest to trochę łatwiejsze.) Jednakże, gdy zapoznasz się z plikiem project.clj Leiningena i jak skonfigurować pliki źródłowe i przestrzenie nazw (po tym, jak poznasz przestrzenie nazw!), Robiąc rzeczy w konwencjonalny sposób sprawi, że twoje życie z Clojure będzie łatwiejsze niż wtedy, gdy będziesz nadal używać -m
i load-file
. (Clojure jest naprawdę lepiej zaprojektowany do tworzenia małych lub dużych projektów niż do uruchamiania jednorazowych skryptów, Clojure wymaga zbyt długiego czasu, aby zacząć używać jako język skryptowy, a w przypadku Leiningen trwa jeszcze dłużej.)
Pierwsza ze wszystkich, programiści Clojure częściej korzystają z REPL niż z samodzielnych plików. Ale jeśli chcesz uruchamiać pliki, proponuję Boot dla szybkich hacków.
Instrukcje instalacji dla systemu Unix znajdują się na Github Boot project page.Po zainstalowaniu Boot, utwórz plik o nazwie main.boot
zawierające:
#!/usr/bin/env boot
(defn -main [& args]
(println "Hello world!")
(System/exit 0))
Następnie zrób to plik wykonywalny i uruchom go:
$> chmod a+x main.boot
$> ./main.boot
Hello world!
może to być pomocne: oto jak uruchomić prosty program clojure za pomocą 'java' bez' lein': https://stackoverflow.com/questions/30151387/cant-see-printed-values-if-launch -script-with-java/30167378 # 30167378 – lispHK01