您的位置:首页 > 其它

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

2015-09-19 13:17 561 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: