In my post on higher-order-functions I discussed
map as a standard.
Suppose you have a collection and you would like to return only those elements
for which a given predicate is true.
filter is a higher-order function
(because it takes a function as an argument) which accomplishes this by taking
as its arguments a boolean-valued method and the collection of interest.
val x: List[Int] = List.range(1, 10) val y = x.filter(x => x % 2 == 0) println(y) // List(2, 4, 6, 8)