簡體   English   中英

如何運行Clojure文件?

[英]How to run a Clojure File?

我是clojure的絕對初學者。 我有clojure1.6和lein(我使用ubuntu 15.04)。 如何運行我使用終端創建的clojure文件? 有沒有像clojure file.clj這樣的命令? 我感謝您的幫助!

簡單的答案:

如果'clojure'是將運行Clojure的腳本或別名(通過使用適當的命令行參數運行java),並且“foo.clj”是您的Clojure源文件的名稱,那么您只需輸入

clojure foo.clj

如果這不起作用,那是因為你的路徑中沒有這樣的腳本,但是你可以創建一個腳本,其內容如下所示:

#!/bin/sh
java -cp /usr/lib/clojure-1.6.0.jar clojure.main "$@" -r

您需要確定Clojure jar文件的位置,並在-cp之后替換該塊。 使用Leiningen,你可能在〜/ .m2下有這個文件的某個版本。

如果你啟動Clojure並獲得REPL提示,那么你可以輸入:

(load-file "foo.clj")

要么

(load-file "<path to foo.clj>/foo.clj")

好的答案:

見Shlomi和Daniel Compton的答案。

當您開始使用Clojure時,關於如何設置目錄結構和文件名以便輕松使用Leiningen和Clojure,可能會有一些學習曲線。 (如果你對Java有所了解,這有點容易。)但是,一旦你熟悉了Leiningen的project.clj文件以及如何設置源文件和命名空間(在你了解命名空間之后!),在傳統方式將使您在Clojure中的生活比使用-mload-file更容易。 (Clojure非常適合開發小型或大型項目,而不是運行一次性腳本.Clojure需要很長時間才能用作腳本語言,而Leiningen需要更長的時間。)

來自Leiningen的基本用法

$ lein run -m my.namespace # run the -main function of a namespace

您應該閱讀Leiningen自述文件教程 ,或者按照您喜歡的編輯器的一些簡單教程。

首先,Clojure程序員傾向於比運行獨立文件更頻繁地使用REPL。 但是,如果你想運行的文件,我建議啟動快速黑客。

Unix的安裝說明在Github Boot項目頁面上 安裝Boot后,創建一個名為main.boot的文件, main.boot包含:

#!/usr/bin/env boot

(defn -main [& args]
  (println "Hello world!")
  (System/exit 0))

然后使其可執行並運行它:

$> chmod a+x main.boot
$> ./main.boot
Hello world!

這是Boot的一個很好的介紹

java -cp clojure-1.7.0.jar clojure.main -i file.clj

假設安裝了java,並且clojure-1.7.0.jar文件和file.clj都在當前目錄中

如果您最終需要其他jar文件用於庫等,那么這最終會變得相當壓倒性。 此時您可能想要研究boot,maven或leiningen。 大多數人似乎都在使用leiningen,但它讓我的頭發着火了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM