Scala本を読む 2

どうか3日坊主になりませんように。

  • trait・・・??
  • やじるし

"A -> B" AとBからなるタプルを返す2項演算子
mapの初期化とか。

val tmpMap = Map[Int, String]()
tmpMap += (1 -> "aaa")
tmpMap += (2 -> "bbb")

  • 3.5関数形のスタイルを見分ける

関数形で書くにはなるべくvalを使う。varは使わない。

副作用を持たないようにする。=返り値がUnitなら副作用がある(はず)
返り値がなければメソッド内で副作用を起こすしかない

メソッド内に副作用があると、テストが大変
メソッド実行結果を何らかの方法で「取得」して、検証しなければいけないから。

  • 3.6ファイルから行を読みだす

Int型のメソッドmax() … レシーバと引数のmaxを返す
reduceLeft()メソッド … listのメソッドかな?「与えられた関数を先頭2行に適用し、処理結果と次の1行を引数にして同じ関数を適用する」
 こういうのが関数型のメソッドっぽい。あまり見たことないし。

ファイルを1行ずつ読み込む

val lines= Source.fromFile(args(0)).getLines.toList
〜〜〜