HH\Vector::takeWhile
Returns a Vector
containing the values of the current Vector
up to but
not including the first value that produces false
when passed to the
specified callback
public function takeWhile(
(function(Tv): bool) $callback,
): Vector<Tv>;
That is, takes the continuous prefix of values in
the current Vector
for which the specified callback returns true
.
The returned Vector
will always be a subset (but not necessarily a
proper subset) of the current Vector
.
Parameters
(function(Tv): bool) $callback
Returns
Vector<Tv>
- AVector
that is a subset of the currentVector
up until the callback returnsfalse
.
Examples
This example shows how takeWhile
can be used to create a new Vector
by taking elements from the beginning of an existing Vector
:
$v = Vector {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144};
// Include values until we reach one over 10
$v2 = $v->takeWhile($x ==> $x <= 10);
var_dump($v2);
object(HH\Vector)#3 (7) {
[0]=>
int(0)
[1]=>
int(1)
[2]=>
int(1)
[3]=>
int(2)
[4]=>
int(3)
[5]=>
int(5)
[6]=>
int(8)
}