Scala深入浅出实战经典:21,Scala中的偏函数实战详解

来源:互联网 发布:java执行cmd命令 参数 编辑:程序博客网 时间:2024/04/30 10:47
package com.dt.scalaInAction.demo_021/** * Scala中的偏函数实战详解 */object PartialAppliedFunction {    def main(args: Array[String]): Unit = {        val data = List(1, 2, 3, 4, 5, 6)        /**         *  foreach实现         *  @inline override final         *  def foreach[B](f: A => B) {         *    var these = this         *    while (!these.isEmpty) {         *       f(these.head)         *       these = these.tail         *     }         *   }         */       // data.foreach(println _)        //这里的_表示集合中所有的参数列表 row result: 1 2 3 4 5 6       // data.foreach(x => println(x))  //row result: 1 2 3 4 5 6                        def sum(a: Int, b: Int, c: Int) = a + b + c        println(sum(1, 3, 4))   //row result: 8                val fp_a = sum _  //_表示所有的参数列表    val fp_a: (Int, Int, Int) => Int        println(fp_a(1, 2, 3))  //row result: 6        println(fp_a.apply(1, 2, 3))   //row result: 6                val fp_b = sum(1, _: Int,  3)  //可以传递其中部分值 单必须声明类型        println(fp_b(2))       //row result: 6        println(fp_b(10))      //row result: 14                data.foreach(println _)        data.foreach(println)            }}以上内容是从王家林老师DT大数据课程第21讲的学习笔记和个人整理。DT大数据微信公众账号:DT_Spark 王家林老师QQ:1740415547王家林老师微信号:18610086859第21讲视频网站地址:http://pan.baidu.com/s/1kT8D2r9
0 0