先看文档解释:
aggregate[ B ] (z:=>B)(seqop:(B,T)=>B,combop:(B,B)=>B):B
从聚合函数aggregate的解释来看,aggregate()是个柯里化方法,第二个参数是两个方法;
直白的讲,就是传入的参数通过和array中每个元素通过seqop方法得到一个结果集,得到的结果集中每个元素彼此通过combop方法得到返回的结果;
举例:
val a = List(1,2,3,4)
val b = a.par.aggregate(5)(_+_,_+_) //30
//先用5和a中每个元素相加,得到的结果集彼此相加,返回30
val c2 = a.par.aggregate(5)(_-_,_+_) //10
//先用5和a中每个元素相减,得到的结果集彼此相加,返回10