HH\Vector::skipWhile

Returns a Vector containing the values of the current Vector starting after and including the first value that produces false when passed to the specified callback. That is, skips the continuous prefix of values in the current Vector for which the specified callback returns true.

Description

public function skipWhile(
  (function(Tv):bool) $fn,
): Vector<Tv>

Returns a Vector containing the values of the current Vector starting after and including the first value that produces false when passed to the specified callback. That is, skips 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) $fn - The callback used to determine the starting element for the returned Vector.

Return Values

  • Vector<Tv> - A Vector that is a subset of the current Vector starting with the value for which the callback first returns false.

Examples

This example shows how skipWhile can be used to create a new Vector by skipping elements at the beginning of an existing Vector:

<?hh

namespace Hack\UserDocumentation\API\Examples\Vector\SkipWhile;

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

// Skip values until we reach one over 10
$v2 = $v->skipWhile($x ==> $x <= 10);
var_dump($v2);
Output
object(HH\Vector)#3 (6) {
  [0]=>
  int(13)
  [1]=>
  int(21)
  [2]=>
  int(34)
  [3]=>
  int(55)
  [4]=>
  int(89)
  [5]=>
  int(144)
}