Clojure環(huán)境安裝與QuickStart

Clojure環(huán)境安裝與QuickStart

如果你連環(huán)境都不想安裝,想直接體驗一下Clojure的Lisp感覺,你只要保證你聯(lián)網(wǎng),就能做到.

打開http://www.tryclj.com/,這里不需要做任何配置,直接在瀏覽器上就可以試驗 Clojure

項目地址: http://www.tryclj.com/

源碼安裝

首先要配置好JDK環(huán)境,這里不多說.

這個是clojure項目github:
https://github.com/clojure/clojure

讓我們直接從源碼build打包,然后在java命令行進入Clojure交互運行環(huán)境REPL.

執(zhí)行如下命令:

git clone https://github.com/clojure/clojure
cd clojure
mvn package -Dmaven.test.skip

然后,我們可以在target目錄下面,看到clojure-1.9.0-master-SNAPSHOT.jar

在命令行,直接運行java命令行:

java -cp clojure-1.9.0-master-SNAPSHOT.jar clojure.main

我們即可進入Clojure的交互式命令行環(huán)境(read-eval-print loop (REPL)):

Clojure 1.9.0-master-SNAPSHOT
user=> (+ 1 2 3)
6
user=> (javax.swing.JOptionPane/showMessageDialog nil "Hello,Clojure!")
nil

輸出如下圖:

![](螢幕快照 2016-06-28 15.58.33.png)

使用Leiningen

Leiningen是一個Clojure項目管理工具。

Mac上使用homebrew安裝

sudo brew install leiningen

如果因為網(wǎng)絡原因安裝失敗,刪除掉~/.lein目錄后重新執(zhí)行l(wèi)ein命令即可。
現(xiàn)在可以啟動一個REPL會話,更簡單:

lein repl

啟動成功,控制臺輸出:

Retrieving org/clojure/tools.nrepl/0.2.12/tools.nrepl-0.2.12.pom from central
Retrieving clojure-complete/clojure-complete/0.2.4/clojure-complete-0.2.4.pom from clojars
Retrieving org/clojure/clojure/1.8.0/clojure-1.8.0.pom from central
Retrieving org/clojure/tools.nrepl/0.2.12/tools.nrepl-0.2.12.jar from central
Retrieving org/clojure/clojure/1.8.0/clojure-1.8.0.jar from central

Jun 28, 2016 4:14:21 PM org.apache.http.impl.execchain.RetryExec execute
資訊: I/O exception (java.net.SocketException) caught when processing request to {s}->https://clojars.org:443: Connection reset
Jun 28, 2016 4:14:21 PM org.apache.http.impl.execchain.RetryExec execute
資訊: Retrying request to {s}->https://clojars.org:443
Retrieving clojure-complete/clojure-complete/0.2.4/clojure-complete-0.2.4.jar from clojars
nREPL server started on port 58986 on host 127.0.0.1 - nrepl://127.0.0.1:58986
REPL-y 0.3.7, nREPL 0.2.12
Clojure 1.8.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_40-b27
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

user=> (* 1 2 3 4 5 6 7 8 9)
362880
user=> (+ 1 2 3 4 5 6 7 8 9)
45

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容