2015-10-17 第6回 関数型プログラミング勉強会の簡単なまとめ
Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear)
- 作者: Paul Chiusano,Rúnar Bjarnason,株式会社クイープ
- 出版社/メーカー: インプレス
- 発売日: 2015/03/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (6件) を見る
今回は第5回のExercise 3.13について再度振り返りをしました。 krxrossさんに記事の追記をがっつりしてもらったので、読んでいくことに。
今回は前回の記事や振り返りや雑談で時間を費やしたので、本はExercise 3.16だけやりました。
def add1(l: List[Int]): List[Int] = foldRight(l, Nil:List[Int])((h,t) => Cons(h+1,t))
これを段階的に見ていくと
add1(List(1,2,3)):List[Int] = foldRight(List(1,2,3),Nil)((h,t) => Cons(h+1, t)) foldRight(Cons(1, Cons(2, Cons(3, Nil))),Nil)((h, t) => Cons(h+1, t)) Cons(1+1, foldRight(Cons(2, Cons(3, Nil)),Nil)((h, t) => Cons(h+1, t))) Cons(2, Cons(2+1, foldRight(Cons(3, Nil),Nil)((h, t) => Cons(h+1, t)))) Cons(2, Cons(3, Cons(3+1, foldRight(Nil,Nil)((h, t) => Cons(h+1, t))))) Cons(2, Cons(3, Cons(4, Nil))) List(2, 3, 4)