Clojure

windows インストール

インストール手順

Java Development Kit (JDK)のインストール

ClojureはJava上で動作するため、まずJDKをインストールする必要があります。OpenJDKを使用するのが一般的です。Chocolateyを使ってインストールすることもできます。

choco install openjdk

Leiningenのインストール

LeiningenはClojureのビルドツールであり、パッケージ管理やプロジェクト管理を行います。

http://yohshiy.blog.fc2.com/blog-entry-249.html

以下のインストーラはバグっていた(ver1.0)

https://djpowell.github.io/leiningen-win-installer/

以下から、lein.bat用のコードをコピペする。

https://leiningen.org/

次に、

.\lein.bat

とかくと、最初はインストールされていないのでエラーになるが、その際に表示されているログをみると以下のコマンドでインストールできると書いてある

.\lein.bat self-install

と書くと、ひっそりとダウンロードされる。

再度、

.\lein.bat

とやると、何やら使えるようになっている。

Clojure CLIのインストール

Clojure CLIツールをインストールすることで、Clojureプログラムを実行するためのコマンドラインツールが利用可能になります。以下のコマンドを実行します。

choco install clojure

ドキュメント

https://clojure-doc.org/

VS CodeとCalvaの設定

Clojureの開発には、Visual Studio Codeとその拡張機能であるCalvaを使用することが推奨されます。VS Codeをインストールした後、Calvaを拡張機能として追加します。

REPLの起動

インストールが完了したら、Leiningenを使ってREPL(Read-Eval-Print Loop)を起動します。コマンドプロンプトまたはPowerShell?で以下を実行します。

lein repl

WSLの利用

Windows Subsystem for Linux (WSL)を使用する方法もあります。これにより、Linux環境でClojureを実行することができ、Linux向けのインストール手順をそのまま利用できます。WSLをインストールし、Ubuntuなどのディストリビューションを選択して、Linuxの手順に従ってClojureをインストールします。

注意点

環境変数の設定: JDKやLeiningenをインストールした後、環境変数が正しく設定されていることを確認してください。特に、javaやleinコマンドが認識されるようにする必要があります。

依存関係の確認: Clojureを実行するためには、bash、curl、rlwrapなどの依存関係が必要です。これらがインストールされていることを確認してください。

VSCodeのプラグイン

Calva

Calvaを使うと、REPLでコードを評価することができるようになります。

Ctrl + Alt + C, Ctrl + Alt + J

で、メニューが出てきます。

それを選んで、 実行したいコード上で、Alt + Enterを押すと、評価されてコメントのように計算結果が表示されます。

これらの手順に従うことで、Windows 11上でClojureの開発環境を整えることができます。

トラブルシューティング

REPLの接続に問題が発生しているようです。Calvaでのジャックインが正しく行われていないようです。

以下の手順で再接続を試してみましょう:

チュートリアル

文字をさかさまに変える。

(ns play)

;; 文字列を逆順にする
(defn reverse-string [s]
  (apply str (reverse s)))

;; 文字列内の特定の文字をカウント
(defn count-char [s c]
  (count (filter #(= c %) s)))

;; REPLで試してみましょう
(comment
  (reverse-string "hello")  ;=> "olleh"
  (count-char "hello" \l)   ;=> 2
)
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-01-20 (月) 11:38:03 (57d)