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 とします。