大数据系列修炼-Scala课程21

来源:互联网 发布:手机翻译软件推荐 编辑:程序博客网 时间:2024/05/18 03:12

核心内容:
1、scala中的部分应用函数实战解析


1、scala中部分应用函数实战解析

1>部分应用函数只是在“已有函数”的基础上,提供部分默认参数,未提供默认参数的地方使用下划线替代,从而创建出一个“函数值”,在使用这个函数值(部分应用函数)的时候,只需提供下划线部分对应的参数即可。
2>部分应用函数是缺少部分参数的的函数,是一个逻辑上的概念.
3>部分应用函数本质上是一种值类型的表达式,在使用的时候不需要提供所有的参数,只需要提供部分参数
4>在部分应用函数中,使用_可以代表单个参数或者全部参数列表
5>部分应用函数的内部实现:scala编译器会根据部分应用函数的表达式,自动生成一个类的实例对象,并在这个实例对象中含有相应参数个数的apply方法,其中apply方法可以理解为本地函数的应用.


实例程序:

package IT04import scala.io.Source//本次程序的目的是测试部分应用函数的应用object App {   def main(args:Array[String]):Unit=   //main函数的形式参数是一个字符串数组   {       def sum(x:Int,y:Int,z:Int) = x + y + z       val aa = sum(10,20,30)       val bb = sum _       println(aa)  //60       println(bb(10,20,30))   //60       val cc = sum(_:Int,_:Int,30)       println(cc(10,20))    //60       val dd = sum(_:Int,20,30)       println(dd.apply(10))  //60--apply方法可以理解为sum函数的本地函数       println(dd(10))  //60       println("apply方法可以理解为本地函数的应用!")       val array = Array(10,20,30)       array.foreach { x => println(x) }       array.foreach(println _)  //用下划线代表整个参数列表       array.foreach(println)   }   }

如有问题,欢迎留言指教!

1 0