偏函数:
偏函数是scala的一个特殊函数,可以看作为是一个残缺的函数,他只能处理一部分的参数
定义:
- 偏函数被包在花括号内没有match的一组case语句是一个偏函数
- 偏函数是PartialFunction[A, B]的一个实例 (A代表输入参数类型 ,B代表返回结果类型)
demo:
scala> val pf: PartialFunction[Int, Boolean] = { case i if i > 0 => i % 2 == 0}
pf: PartialFunction[Int,Boolean] = <function1>
定义一个pf偏函数,如果i大于0,那么i是偶数的话,就返回true,否则返回false;
接下来,我们输入两个参数,看下返回结果
scala> pf(-1)
scala.MatchError: -1 (of class java.lang.Integer)
at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:255)
at scala.PartialFunction$$anon$1.apply(PartialFunction.scala:253)
at $anonfun$1.applyOrElse(<console>:11)
at $anonfun$1.applyOrElse(<console>:11)
at scala.runtime.AbstractPartial