Returns a Set containing the values of the current Set up to but not including the first value that produces false when passed to the specified callback

public function takeWhile(
  (function(Tv): bool) $callback,
): Set<Tv>;

The returned Set will always be a proper subset of the current Set.


  • (function(Tv): bool) $callback


  • Set<Tv> - A Set that is a proper subset of the current Set up until the callback returns false.


This example shows how takeWhile can be used to create a new Set by taking elements from the beginning of an existing Set:

$s = Set {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144};

// Include values until we reach one over 10
$s2 = $s->takeWhile($x ==> $x <= 10);