scala偏函数是对变量的一种局限定义。

定义

定义1:
val fun1 = new PartialFunction[Int,Int] {
//变量排除部分
override def isDefinedAt(x:Int): Boolean = x!=0
// 函数体实现
override def apply(x: Int): Int = 100/x
}
调用:
fun1.isDefinedAt(1)
fun1(1)

定义2:
val fun2:PartialFunction[Int,Int]={
case d:Int if(d!=0) =>100/d
}
调用:
fun2(2)

组合

orElse方法:
val r1:PartialFunction[Int,String]={case 1=>”one”}
val r2:PartialFunction[Int,String]={case 2=>”one”}
val r3:PartialFunction[Int,String]={case _=>”other”}
val res = r1 orElse r2 orElse r3
andThen方法,串联执行:
val res = r1 andThen r2