夢とガラクタの集積場

落ちこぼれ三流エンジニアである管理人の夢想=『夢』と、潰えた夢=『ガラクタ』の集積場です。

Clojure勉強日記(その1 Clojure(REPL)実行環境

最近Stormのコードを読んでいるのですが、Clojureの基本文法が曖昧なために
結局深いところは読み解けないという状態に陥っている今日この頃です。

というわけで、プログラミングClojureを使って
実際にClojureのコードを書いて、理解を深めることにします・・・
かつ、理解した結果を形として残すために日記として付けます。

なんですが、単に本の写経を行ったところで理解は深まりません。
そのため、本に書かれている用語を自分が理解できる単語に変換して噛み砕いた上で残します。
結果、Clojureで一般的に使用される用語とは多少ずれるかもしれませんが、まぁその辺は気にしない。

後はこれまでJavaC#がメインだった関係上、どうしてもオブジェクト指向+静的型付という考えがベースとなっているため、
そこから気になる点を試していく形にもなります。
なのでJava使いの人は意外に親近感がわく思考パターンになっているかもしれません。

1.プログラミングClojureの章構成

とりあえず、プログラミングClojureの章構成は下記のようになっています。

1章は「Clojureの紹介と環境の整備」のため、実際にコードを書くのは2章からのようです。

なので、初めは1章の環境構築を確認し、
次の日記からきちんとコードを書いて理解を深めていくことにします。

2.Clojureの実行環境構築(REPL)

ではClojureの実行環境を構築します。
はじめにある通り、REPLでの環境を構築します。

leiningen使うと一発だという突っ込みはありますが、あくまで今回は勉強用の環境構築。
なので、出来る限りシンプルに。かつ自分が全て理解できる内容で。
尚、前提としてJava6以降がインストールされており、javaコマンドのパスが通っていることが必要です。
Javaのインストールについては他にたくさんサイトがあるので、そちらをご覧ください。

REPLである限りOSの問題は発生しないのでとりあえずはWindows前提で、バッチファイルで構築する方針で。

まずは下記のようにディレクトリを構築します。
ファイル自体は「https://github.com/kimutansk/clojurestudy/」を使ってバックアップも。

clojurestudy // ベースディレクトリ
├─lib      // ライブラリ配置ディレクトリ
└─src      // ソースファイル配置ディレクトリ

まずはClojureのページ(http://clojure.org/)からclojure-1.5.1.zipをダウンロードし、展開します。
その中からclojure-1.5.1.jarをlibディレクトリ配下に配置します。

後はclojurestudyディレクトリ配下に「startRepl.bat」を作成し、下記の内容にします。

@echo off

set CLOJURE_HOME=%~dp0
set LIB_PATH=%CLOJURE_HOME%\lib
set SRC_PATH=%CLOJURE_HOME%\src

java ^
-cp ^
%SRC_PATH%;^
%LIB_PATH%\clojure-1.5.1.jar ^
clojure.main

pause

内容としては非常に単純ですね。
ホームディレクトリを設定し、clojure-1.5.1.jarとソースをライブラリとして読み込んで、
clojure.main」を起動するのみです。

作成後、実際にバッチファイルを実行すると下記のようにREPLの実行ウィンドウが開きます。

これでClojure(REPL)実行環境の構築は完了です。
次回以降、2章で解説された内容を自分なりに噛み砕いてまとめていくことにします。