当前位置: 首页 > >

scala中reduce函数原理解析------------------------------reduceLeft和reduceRight

发布时间:

看完图之后看具体实例



scala> val list = List(1,2,3,4,5)
list: List[Int] = List(1, 2, 3, 4, 5)
scala> list.reduce(_+_)
res0: Int = 15

#这里0初始值,也是后面高阶函数的柯里化
scala> list.fold(0)((x, y) => x+y)
res1: Int = 15

#默认值是100
scala> list.fold(100)((x, y) => x+y)
res2: Int = 115

#步骤解析
(((((100+1)+2)+3)+4)+5)
((((101+2)+3)+4)+5)
(((103)+3)+4)+5)
((106+4)+5)
(110+5)
115

foldLeft(从左到右计算)
foldRight(从右到左计算)
#从右到左进行计算
scala> list.foldRight("Hello")(_+_)
res6: String = 12345Hello



友情链接: 简历 面试求职范文 职业规划 自我管理 社交礼仪 76242百科