`class Lambda`

Available on all platforms

The `Lambda`

class is a collection of methods to support functional
programming. It is ideally used with 'using Lambda' and then acts as an
extension to Iterable types.

On static platforms, working with the Iterable structure might be slower than performing the operations directly on known types, such as Array and List.

If the first argument to any of the methods is null, the result is unspecified.

## Class Fields

`static function fold<A, B>(it:Iterable<A>, f:A -> B -> B, first:B):B`

Functional fold on Iterable `it`

, using function `f`

with start argument
`first`

.

If `it`

has no elements, the result is `first`

.

Otherwise the first element of `it`

is passed to `f`

alongside `first`

.
The result of that call is then passed to `f`

with the next element of
`it`

, and so on until `it`

has no more elements.

If `it`

or `f`

are null, the result is unspecified.

`static function foreach<A>(it:Iterable<A>, f:A -> Bool):Bool`

Tells if `f`

is true for all elements of `it`

.

This function returns false as soon as an element is found for which a
call to `f`

returns false.

If no such element is found, the result is true.

In particular, this function always returns true if `it`

is empty.

If `f`

is null, the result is unspecified.