Методы Take, TakeWhile, Skip, SkipWhile

Описание методов

Методы приведены для последовательности sequence of T.

function Take(count: integer): sequence of T;
      Возвращает последовательность из count элементов с начала последовательности.
function TakeWhile(predicate: T->boolean): sequence of T;
      Возвращает цепочку элементов последовательности, удовлетворяющих указанному условию, до первого не удовлетворяющего.
function TakeWhile(predicate: (T,integer)->boolean): sequence of T;
      Возвращает цепочку элементов последовательности, удовлетворяющих указанному условию, до первого не удовлетворяющего (учитывается индекс элемента).
function Skip(count: integer): sequence of T;
      Пропускает count элементов в последовательности и возвращает остальные элементы.
function SkipWhile(predicate: T->boolean): sequence of T;
      Пропускает элементы в последовательности, пока они удовлетворяют заданному условию, и затем возвращает оставшиеся элементы.
function SkipWhile(predicate: (T,integer)->boolean): sequence of T;
      Пропускает элементы в последовательности, пока они удовлетворяют заданному условию, и затем возвращает оставшиеся элементы (учитывается индекс элемента).

Пример

begin
  var
a := Arr(1,2,3,4,5,6);
  a.Take(3).Println; // 1 2 3
  a.Skip(3).Println; // 4 5 6
  a.Skip(2).Take(3).Println; // 3 4 5
  a.TakeWhile(x -> x<3).Println; // 1 2
  a.SkipWhile(x -> x<5).Println; // 5 6
end.