December 2015
Intermediate to advanced
298 pages
5h 30m
English
We briefly touched on the for expression. We also noted how the for expressions are similar to the map version. In fact, the Scala compiler translates the for expression into a form using map, flatMap, and filter. The following are how the forms of the expression are translated.
This is a simple case that can be readily translated into a form that uses a map:
scala> for (p <- List(1,2,3)) yield(p+1) res10: List[Int] = List(2, 3, 4)
Gets translated into the following:
scala> List(1,2,3) map (p => p + 1) res11: List[Int] = List(2, 3, 4)
Let's try printing pretty numbers from a list, such that each number is divisible by 3:
scala> val p = (1 to 20).toList p: List[Int] = List(1, 2, 3, 4, ...
Read now
Unlock full access