Scala forall example?

Solution 1:

The forall method takes a function p that returns a Boolean. The semantics of forall says: return true if for every x in the collection, p(x) is true.

So:

List(1,2,3).forall(x => x < 3)

means: true if 1, 2, and 3 are less than 3, false otherwise. In this case, it will evaluate to false since it is not the case all elements are less than 3: 3 is not less than 3.

There is a similar method exists that returns true if there is at least one element x in the collection such that p(x) is true.

So:

List(1,2,3).exists(x => x < 3)

means: true if at least one of 1, 2, and 3 is less than 3, false otherwise. In this case, it will evaluate to true since it is the case some element is less than 3: e.g. 1 is less than 3.

Solution 2:

A quick example of how you can play with this function using a Scala script.

create a myScript.scala file with

println(args.forall(p => (p.equals("a"))))

and call it with

scala myScript.scala a a a  // true
scala myScript.scala a b c  // false