0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ひとりカレンダー】ClojureAdvent Calendar 2024

Day 2

環境構築とClojure REPLの使い方

Last updated at Posted at 2024-12-01

advent_calendar_2024.png

Advent Calendar 2024 Day 2

開発環境構築(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)が必要です。これはパッケージマネージャーからインストールするか、必要に応じて手動でダウンロードしてください。

  1. leinスクリプト(または、WSLを使わないWindowsの場合はlein.bat)をダウンロードします
  2. ダウンロードしたスクリプトをシェルから見つけられる場所(例: /usr/local/bin/)に配置します
  3. 実行可能に設定します(例: sudo chmod a+x /usr/local/bin/lein)
  4. スクリプトを実行します(leinと入力)すると、自己インストールパッケージがダウンロードされます

インストールが完了したら、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での開発環境を作っていきます

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?