PascalABC.NET

Метод Aggregate

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

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

function Aggregate(func: (T,T)->T): T;       Применяет к последовательности агрегатную функцию. Возвращает конечное агрегатное значение.
function Aggregate<Accum>(seed: T; func: (Accum,T)->Accum): T;
      Применяет к последовательности агрегатную функцию. Указанное начальное значение используется в качестве исходного значения агрегатной операции. Возвращает конечное агрегатное значение.
function Aggregate<Accum,Res>(seed: T; func: (Accum,T)->Accum; resultSelector: Accum->Res): T;
      Применяет к последовательности агрегатную функцию.Указанное начальное значение служит исходным значением для агрегатной операции, а указанная функция используется для выбора результирующего значения. Возвращает конечное агрегатное значение.

Пример

begin
  var a := Seq(2,3,5,6);
  Println(a.Aggregate(1,(p,x) -> p*x));
end.