読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

flatMap

Scala

flatten + mapがflatMapである。という理解。

scala> List(List(1,2), List(3,4)).flatten
res13: List[Int] = List(1, 2, 3, 4)

scala> List(List(1,2), List(3,4)).flatMap( x => x.map(_ * 2))
res14: List[Int] = List(2, 4, 6, 8)

scala> List(List(1,2), List(3,4)).map(_ * 2)
<console>:11: error: value * is not a member of List[Int]
       List(List(1,2), List(3,4)).map(_ * 2)
                                        ^

scala> List(List(1,2).map(_ * 2), List(3,4).map(_ * 2))
res16: List[List[Int]] = List(List(2, 4), List(6, 8))

Scala School - Collections

qiita.com