「Scala 関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド」(原書:Functional Programming in Scala)の練習問題を解くための開発環境の構築手順をメモっとく。
なお、IntelliJ IDEA で練習問題を解く場合は「Scala 関数型デザイン&プログラミング」の練習問題を解くための開発環境の構築(IntelliJ IDEA 編)を見てね。
OS X での開発環境の構築手順
初期設定
サンプルコードを Git リポジトリからクローンする。Scala のビルドツール sbt が一緒に入ってるので、sbt に実行権限を付与する。
$ git clone https://github.com/fpinscala/fpinscala.git
$ cd fpinscala
$ chmod a+x ./sbt
動作確認
sbt を実行すると勝手に色々環境を準備してくれる。待ってれば sbt のコンソールが開く。project コマンドで exercises プロジェクトに切り替える。comiple コマンドでコンパイルする。console コマンドで Scala コンソールを開いて、スクリプトを書いて動作確認する。Scala コンソールは :quit で終了できる。sbt は exit コマンドで終了できる。
$ ./sbt
> project exercises
> compile
> console
scala> import fpinscala.gettingstarted.MyModule._
scala> abs(-42)
scala> :q
> exit
練習問題の解答手順
sbt を実行する。exercises プロジェクトに切り替える。(ここを忘れやすいので注意!)練習問題のソースを好きなテキストエディタで書く。console コマンドで Scala コンソールを開く。読んでいる章のモジュールをインポートする。関数を呼び出して結果を確認する。ダメだったら :q で Scala コンソールを終了する。ソースを書き直して、再度 console コマンドから同じ手順を実行する。Scala コンソールには入力したスクリプトの履歴が残っているので、カーソルキーの上で履歴をたどって実行すると効率的。
$ ./sbt
> project exercises
> console
scala> import fpinscala.gettingstarted.MyModule._
scala> fib(10)
scala> :q
> exit
練習問題を解くときは answerkey ディレクトリのヒントファイルを参考にする。また、練習問題を解き終わったら answerkey ディレクトリの解答ファイルを読むと効率的な書き方がわかるのでオススメ。
関連記事
「Scala 関数型デザイン&プログラミング」の練習問題を解くための開発環境の構築(IntelliJ IDEA 編)
参考文献