0
点赞
收藏
分享

微信扫一扫

scala高级——reduceLeft神语法


使用神语法



scala> val a = Array(20, 12, 6, 15, 2, 9)

scala> a.reduceLeft(        _         +         _        )          // 数组求和       


        res        0        :         Int         =         64       


        scala> a.reduceLeft(        _         *         _        )         // 数组求乘积       


        res        1        :         Int         =         388800       


        scala> a.reduceLeft(        _         min         _        )         // 数组求最小值       


        res        2        :         Int         =         2       


        scala> a.reduceLeft(        _         max         _        )         // 数组求最大值       


        res        3        :         Int         =         20

使用函数

自定义函数实现数组求最大值功能

scala>         val         a         =         Array(        20        ,         12        ,         6        ,         15        ,         2        ,         9        )       


        scala>         val         f         =         (x        :        Int, y        :        Int)         =        > x max y       


        scala> a.reduceLeft(f)       


        res        0        :         Int         =         20

实现原理

第一、第二个数的比较结果再与第三个数进行比较,以此类推。x为上一次结果,y为本次比较数值

 

参考:http://alvinalexander.com/scala/scala-reduceleft-examples

 

--end

举报

相关推荐

0 条评论