2015-05-25 26 views
8

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?

+0

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

Odpowiedz

9

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

3

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! 

Here's a pretty good introduction to Boot.