開発環境構築(Leiningen)
Leiningenは、Clojureプロジェクトの管理ツールです。
インストールは簡単で、package managerで簡単にインストールできます。
対応しているpackage managerはここにあります
asdfの場合は以下のように入れるといいでしょう
$ asdf plugin-add lein https://github.com/miorimmax/asdf-lein.git
$ asdf list-all lein
$ asdf install lein {version}
$ asdf global lein {version}
もしお使いのpackage managerが対応していない場合は公式の手順に従ってインストールしましょう
(抜粋し和訳したものです)
LeiningenとClojureを使うにはJava(理想的にはOpenJDK)が必要です。これはパッケージマネージャーからインストールするか、必要に応じて手動でダウンロードしてください。
インストールが完了したら、lein new {name}
でプロジェクトを作成してみましょう
例
$ lein new todo-clj
REPL
Clojureでは、REPL(Real-Eval-Print Loop)を使って、リアルタイムにコードを評価しながらコーディングをすることができます。
REPLになれると便利すぎて、様々な言語でREPLが無いのか探すようになります
あまり使ったことはありませんが、PythonのJupiterNotebookや、IntelliJのScratchFileが似ているのかな?と思っています。
lein new {name}
で作成したプロジェクトで、
lein repl
とターミナルに入力し、REPLを起動してみましょう
私の場合は、todo-clj
で作成したので以下のようになりました
$ lein repl
Retrieving org/clojure/clojure/1.11.1/clojure-1.11.1.pom from central
...
...
...
nREPL server started on port xxxxx on host 127.0.0.1 - nrepl://127.0.0.1:xxxxx
REPL-y x.x.x, nREPL x.x.x
Clojure x.xx.x
OpenJDK 64-Bit Server VM xx.x.x
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
todo-clj.core=>
これでREPLで関数を実行する準備ができました。
試しにHello World
と出力してみます
todo-clj.core=> (println "Hello World")
Hello World
nil
println
という関数で、Hello World
を標準出力し、この結果はnilを返しているので、2つが出力されました。
これでREPLを使った開発環境の準備ができました。
明日はVScodeでの開発環境を作っていきます