The REPL and main entry points(邦訳)

clojure.main ネームスペース

clojure.main ネープスペースは、Clojure プログラムと対話的なセッションを開始します。この機能はJava のランチャーツールである java コマンドを通して提供されます。

clojure.main --help

clojure.main は 以下の Usage に記載する様々な引数とフラグを指定できるエントリポイントです。

Usage: java -cp clojure.jar clojure.main [init-opt*] [main-opt] [arg*]

オプションと引数の指定が無い場合、対話的な Read-Eval-Print Loop が開始されます。

  • init-opt:
    • -i, --init path ロードするファイルまたはリソースのpathを指定
    • -e, --eval string 評価式を文字列で指定
  • main-opt:
    • -r, --repl Repl を起動
    • path ファイルかリソースからpathで指定されたスクリプトを実行
    • - 標準入力からスクリプトを実行
    • -h, -?, --help ヘルプメッセージを出力して終了

REPL の起動

Clojure repl を起動する簡単な方法は、Clojure のホームディレクトリにて以下のコマンドを実行します。

java -cp clojure.jar clojure.main

Script の実行

スクリプトとして書かれた Clojure code のファイルを実行するには、clojure.main に続く引数にてスクリプトのパスを指定します。

java -cp clojure.jar clojure.main /path/to/myscript.clj

Script への引数渡し

スクリプトに引数を渡すには、clojure.main の実行時の引数として同時に渡します。

java -cp clojure.jar clojure.main /path/to/myscript.clj arg1 arg2 arg3

引数は *command-line-args* という var にバインドされた文字シーケンスとしてプログラム上から利用できます。

*command-line-args* => ("arg1" "arg2" "arg3")

REPLの操作

clojure.jar は以下からダウンロード可能です。現在の最新は1.2.0になります。
http://clojure.org/downloads
解凍すると clojure.jar があるので、

>java -cp clojure.jar clojure.main
Clojure 1.2.0
user=> (+ 2 4)
6
user=> (println "hello!!")
hello!!
nil

終了時には、Windowsの場合Ctrl-C、Linux等の場合は、Ctrl-D とします。