aggregate

trait Collection[A] {
  def aggregate[B](z: => B)(seqop: (B, A) => B, combop: (B, B) => B): B
}

aggregate は二項演算子 seqop を要素のかたまりに適用し、二項演算子 combop を使って中間結果を結合します。 値 z は型 B の零元であり、何回も使われるかもしれません。