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 〜〜〜