ホーム > タグ > clojure
clojure
ClojureでFizzBuzz
- 2010-02-17 (水)
- article
新しい言語学ぶ時はとりあえずFizzBuzzを書く。Clojureのcondは括弧が少なくて個人的に好きです。
- Comments: 0
- Trackbacks: 0
clojure+vimclojureのインストール
- 2010-02-17 (水)
- article
結構時間かかった。今日(正確には昨日)の夕方からずっといじってた。まとめるとそんな時間かかるようなものでもないんだけどね。clojureよりvimclojureで色々手間取った。ちなみにプログラミング Clojureのサンプルを動かすだけなら、サンプルコードの中にClojureの実行環境(REPL)が含まれてるので以下の設定をやる必要はなし。
clojureのインストール
ソースはgithubから落としてくる。masterでもいいんだけど、clojure-contribの方がmasterだとうまくbuildできなかったので1.1.0を使うことにした。
$ git clone git://github.com/richhickey/clojure.git $ cd clojure $ git co -b 1.1.0 1.1.0 $ ant
clojure-contribのインストール
プログラミング Clojureではcontribのライブラリを結構使うみたいなのでこちらもインストール。
$ git clone git://github.com/rechhickey/clojure-contrib.git $ cd clojure-contrib $ git co -b 1.1.0 1.1.0 $ ant -Dclojure.jar=/github/clojure/clojure.jar
REPLの起動
$ java -cp /github/clojure/clojure.jar:/github/clojure/clojure-contrib.jar clojure.main
これで無事REPLが起動すればOK。contribが使えるか気になる人は試しにuseなどしてみるといい。エラーがでずにnilが返ってくればOK。
user=> (use 'clojure.contrib.str-utils) nil
起動コマンド
いつもjava -cpとかやるのは面倒なので起動コマンドを使う。
$ mkdir ~/.clojure $ ln -s /github/clojure/clojure.jar ~/.clojure $ ln -s /github/clojure-contrib/clojure-contrib.jar ~/.clojure $ export CLOJURE_EXT=~/.clojure $ alias clj=/github/clojure-contrib/launchers/bash/clj-env-dir
clojure-contribに起動用のスクリプトがあるのでそれを使う。CLOJURE_EXTにjarのあるディレクトリを指定する必要があるため、適当なディレクトリを作り、そこにjarを入れておく。あとは適当にaliasはるか、実行パスのあるところにファイルを置けばよい。
vimclojureのインストール
vimclojureもリポジトリから落としてくる。tip(masterとかtrunkと同義)だとBuildツールがantじゃなくてgradleになってるけど、うまくbuild出来なかったので2.1.2を使う。
$ hg clone http://bitbucket.org/kotarak/vimclojure/ $ cd vimclojure $ hg co -r v2.1.2
/path/to/vimclojureにlocal.propertiesというファイルを作る。
clojure.jar = /home/user/.clojure/clojure.jar clojure-contrib = /home/user/.clojure/clojure-contrib.jar nailgun-client = ng vimdir = /home/user/.vim
そしてbuild。
$ cd /path/to/vimclojure $ ant $ ant install
antでbuild、ant installでvimdirにpluginとかがインストールされる。vimrcを設定すれば、この時点でsyntax-highlightとかOmni補完とかは使えるようになっているはず。
VimでREPL
vimでREPLなどの機能を使うためにはng-serverを立ち上げる必要がある。CLASSPATHにjarが設定されていないといけないみたいなので設定する。
$ export CLASSPATH=$CLOJURE_EXT/clojure.jar:$CLOJURE_EXT/clojure-contrib.jar:/path/to/vimclojure.jar $ sh bin/ng-server NGServer started on 127.0.0.1, port 2113.
そして、vimrcの修正。syntax highlightの設定なども含む。
" vimclojure let clj_highlight_builtins = 1 let clj_highlight_contrib = 1 let clj_paren_rainbow = 1 let clj_want_gorilla = 1 let vimclojure#NailgunClient = "/path/to/vimclojure/ng"
適当なclojureのファイルを開く。使い方は:help clojure.vimを見ればよい。とりあえず、REPLの起動は<LocalLeader>sr。

これで一通り設定完了。結構時間がかかったけど、大体詰まるところはCLASSPATHまわりだったのでもしうまく動かなかったらまずそこを確認した方がいいかも。
良いclojure + vimライフを。
参考:
Kotka : Projects : Clojure : VimClojure
Clojure Programming/Getting Started – Wikibooks, collection of open-content textbooks
- Comments: 1
- Trackbacks: 1
Home > Tags > clojure
- Feeds
- Meta
- Others
