For expressions
We would not be wrong, if we say that the for expressions are powerful constructs in Scala. For expressions let you traverse through any collection and perform operations such as filtering and yielding out new collections. We have already gone through this concept in Chapter 3, Shaping Up our Scala Program. Let's recall the example we saw:
object ForExpressions extends App {
val person1 = Person("Albert", 21, 'm')
val person2 = Person("Bob", 25, 'm')
val person3 = Person("Cyril", 19, 'f')
val persons = List(person1, person2, person3)
val winners = for {
person <- persons
age = person.age
name = person.name
if age > 20
} yield name
winners.foreach(println)
}
case class Person(name: String, age: Int, gender: Char) The result is as follows:
Albert Bob
In the previous example, we have a collection of Person objects. We are performing a traversal on the collection and generating another collection consisting of names for...