scala入门初级代码训练-20偏函数

原创文章,转载请注明出处!

原文地址: http://www.ptbird.cn/2016/07/19/scala-chuji-demo-20/

There I am,in the world more exciting!

by postbird

www.ptbird.cn


package com.ptbird.scala

/**
* Created by postbird on 2016/5/26.
*/
object PFuncTest {
def main(args: Array[String]): Unit = {

val data = List(1, 2, 3, 4, 5)
data.foreach(println _)
//占用了整个参数列表,就是一种偏函数

data.foreach(print) //最简化的操作 12345
data.foreach((x)=>println(x))
// 1
// 2
// 3
// 4
// 5
/** ***************************偏函数 *********************************/

def sum(a: Int, b: Int, c: Int) = a + b + c
println(sum(1, 2, 3)) //6

val fp_a = sum _
//将函数复制给一个变量 指定了sum
println(fp_a(1, 2, 3)) //6
//其实调用的是function 的 apply 就是下面
println(fp_a.apply(1, 2, 3)) //6

val fp_b = sum(1, _: Int, 3)
//空出一个参数
//必须指出那个参数的类型
println(fp_b(1)) //5

val fp_c = sum(1, _: Int, _: Int)
println(fp_c(1, 1)) //3

}
}

欢迎评论。
lingkb » scala入门初级代码训练-20偏函数

发表评论