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...