scala flatMap

Pocket

わからん

scala> List(1, 2, 3) map (_ + 1)
res0: List[Int] = List(2, 3, 4)

scala> val words = List("the", "quick", "brown", "fox")
words: List[String] = List(the, quick, brown, fox)

scala> words map (_.length)
res1: List[Int] = List(3, 5, 5, 3)

scala> words map (_.toList.reverse.mkString)
res2: List[String] = List(eht, kciuq, nworb, xof)

scala> 

scala> 

scala> words map (_.toList)
res3: List[List[Char]] = List(List(t, h, e), List(q, u, i, c, k), List(b, r, o, w, n), List(f, o, x))

scala> words flatMap (_.toList)
res4: List[Char] = List(t, h, e, q, u, i, c, k, b, r, o, w, n, f, o, x)

scala> 

scala> 

scala> List(List(1,3,4),List(3,4)).flatten.map(_ + 1)
res5: List[Int] = List(2, 4, 5, 4, 5)

scala> List(List(1,3,4),List(3,4)).flatMap(e =>
     |   e.map(_ + 1)
     | )
res6: List[Int] = List(2, 4, 5, 4, 5)

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください