Jus12 - 5 months ago 107

Scala Question

I tried Google search and could not find a decent

`forall`

Please point me to a reference (except the Scaladoc).

Answer

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.