Clojure日和
雨の日はClojureを書こう。晴れた日には外に出て日向ぼっこをしよう。
目標
この文章の目標は、Clojureの教科書になることです。そして、このClojureの教科書は、下のような人々をターゲットに作られます。
- Lispを知らない人
- Javaを知らない人
- プログラミングがどういうものかわかってない人
- プログラミングを楽しみたい人(重要! :) )
上のような人が、Clojureというプログラミング言語を「友達」のように思ってくれるような、あるいは身近に感じるような教科書に出来ればいいなと考えています。
重要
この教科書はまだまだ未完成です。今後、暇を見つけてちょくちょく加筆する予定です。一ヶ月に一度くらいみてくれれば、何らかの項目が更新されているかもしれません。
目次
雨の日
0日目 (ごあいさつ)
- この本を手っ取り早く読むために
1日目 (S式の日)
- なぜS式が重要なのか
- はじまりのClojure (Hello, Clojure!)
- Do it your function !!(defn)
- そいつに名前を(def)
- 順番に気をつけて
- とりあえず、私が何だっていいじゃない?(quote)
- あっちにいったり、こっちにいったり(値のキャスト)
- 型があることにかたなし(型について)
- 名前重要(命名規則について)
2日目 (アドベンチャーゲーム作成・分岐とループについて)
- アドベンチャーしよう
- 貴方がClojureに伝えたいこと(read-line)
- 落としたのは金の斧?銀の斧?(if, clojure.string/trim)
- 道は2つ以上あるのだ(cond)
- つながる真偽の輪(and, or)
- 無限ループって怖いね(loop, recur)
3日目 (データ構造の日)
- 家計簿をつけよう
- ちょっとした計算に
- 世界はリストに満ち溢れている(リスト)
- 上には上がいる(高階関数)
- 名付けるほどでもないつまらない奴(匿名関数)
- そして時は動き出す(doall, dorun)
- 値段は何かの値段だ(マップ)
- 割り算の特殊事情
- Vectorとlist、似て非なるもの(vector)
4日目 (再帰の日)
- 再帰ック道場
- 始まりの洞窟
- 旅人の洞窟
- 扉の洞窟
- パンくずの洞窟
- 複雑さと戦う冒険者のために(let)
- ループの洞窟
4-1日目 (あの素晴らしい再帰をもう一度)
- パスカルの三角形を作る
5日目 (クロージャ、カリー化の日)
- 弁当の作り方を作ろう
- あのときの自分と共に
晴れの日
1日目 晴れた日は外でプログラミングについて考えよう
- 変数だって、関数だって、みんなみんな属しているんだ
- 既にお前はスコープを使っている
コラム
- (募集中)
Appendix
- 雨の日には本を読もう
- 参考文献
レビュー・ご意見
「お前の説明のここが間違っている」「ここがわかりにくい」「こういうことを解説するべきだ」といったことに関しては、GitHubにIssueを立てる場所があるので、気楽に立ててください。
また、「お前の文はまどろっこしい、校正してやる!」みたいなpull requestも気楽に教えください。ちょっとしたコラム・エッセイも募集しています :)
執筆者一覧
- esehara shigeo
- twitter: @esehara / email: esehara at gmail dot com