「Scala関数型デザイン&プログラミング」を読んで、コードを書いて、実行する - 第2章 -

前回に続いて、「キチスカ002」開催に向けて、「Scala関数型デザイン&プログラミング」の読み方を解説します。

第1章は関数型プログラミングの概念の解説で、なかなか実際に動くコードが出てこないのですが、第2章から実際に動くコードが出てきます。

コードの実行方法

第2章では最初に基本的なScalaのコード例として、「リスト2-1 gettingstarted/GettingStarted.scala」が出てきます。本文中にはコードの解説は有りますが、sbtからの実行方法が書かれていません。このコードは、下記の手順で実行することができます。

$ git clone https://github.com/fpinscala/fpinscala.git
$ cd fpinscala
$ ./sbt
> project exercises
> run

sbtのrunコマンドは、mainメソッドを実行するコマンドですが、サンプルコードのように一つのプロジェクトに複数のmainメソッドが有ると、どのパッケージに属するmainメソッドを実行するか、確認してくれます。

Multiple main classes detected, select one to run:

 [1] fpinscala.gettingstarted.MyModule
....
Enter number: 1
....

今回の場合は、最初に表示されるfpinscala.gettingstarted.MyModuleを実行するとので、1を選択します(1を入力して、enter keyを押下)。

実行結果が表示され、終了します。

The absolute value of -42 is 42

引き続き、[success]...という文字列は、sbtが出力している文字列で、MyModuleの中で定義されたものではありません。

exerciseを解く

あとは繰り返し、コードを書いて、同じようにsbtから実行します。