概要
前回の記事でClojureの立上がりが遅いので役に立たないと言ったのですが、jokerを利用すると高速に起動できることがわかったので、導入の手順を以下にまとめていきます。
前提としてMacなので
インストール
公式の手順に則ってbrewでインストールしていきます。
WindowsやLinuxの場合はNixを使うか、リリースページからバイナリを落とすかのいずれかになります。
brew install candid82/brew/joker
使い方
joker
とコマンドを打つとインタープリタが起動します。
単純にClojureの動作を確認したいだけであれば、これで十分かと思います。
テストファイルを作成して実行する場合は、以下のようにjoker
の後にファイルパスを記述すればOKです。
joker test.clj
スクリプトファイル
前回の記事とほぼ一緒ですが、単独実行可能なスクリプトファイルとして記述する場合は、以下のように記述すれば良いです。
#^:shebang '[
exec joker "$0" "$@"
]
;; nsの後は通常はnamespace名を入れるが、単独実行ファイルであり
;; 何でも良いので"_"にしている
(ns _ (:require [joker.os :refer [sh]]))
;; 引数は文字列の配列で取得できる
(let [args *command-line-args*]
(println args))
(defn run-cmd [cmd]
(let [res (sh cmd)]
(println "[Exit code]")
(println (:exit res))
(println "[Output]")
(println (:out res))
(println "[Error]")
(println (:err res))))
(run-cmd "ls")