メモりメモる

ハトいエンジニアのアメリカ生活と技術のメモ。

Scala Koansで穴埋め問題を解いてScalaの入門してみる

最近、私の周囲のscala人口が高くなってきたので、
「valとvarを覚えておけば、あとはノリと勘でなんとかなる!」というメンタルを改めようと思い至りました。

scalaのkoansを一通りやってみました。

f:id:hatyone:20130422054848p:plain


1. koansのダウンロード
Learn Scala with the Koans | Scala Koansの右のリンクから、Scala Koansをダウンロード。

2. koansを適当な場所で解凍
sbtが必要になるので、無い場合は「brew install sbt」してsbtをインストールしておきます。

3. scala koansの起動
Scala Koansを解凍したディレクトリに移動し、sbtを起動します。
初回だけテストをコンパイルして、"~test-only org.functionalkoans.forscala.Koans"でkoansのテストを走らせます。

$ sbt
[info] Loading project definition from /Users/hatone/SandBox/scalakoans/project
[info] Set current project to Scala Koans (in build file:/Users/hatone/SandBox/scalakoans/)
>
> test:compile
> ~test-only org.functionalkoans.forscala.Koans
[info] Koans:
[info] AboutAsserts:
(以下略)


4.教えに導かれながら、もくもくコードを書く
src/test/scala/org/functionalkoans/forscalaにあるscalaのコードを、ひたすら穴埋めしてテストを通していきます。
koansを起動するとコンソールで「Please meditate on koan "(問題名)" of suite "(クラス名)"」の形で、これをやりましょうと指示されます。
f:id:hatyone:20130422061049p:plain


koans.htmlにお品書きが書かれているので、それを見て気になる所だけやっても良いかもしれません。
f:id:hatyone:20130422061713p:plain


scalaのコードを編集して保存すると自動でテストが走り、結果を確認できます。
f:id:hatyone:20130422061109p:plain


そんな感じで、scala koansをもくもくと出来ます。
実際にちょっと何か作ってみようと思っていて、ノンブロッキングI/Oのechoサーバー書いたり手を動かして遊んでみます。