偏函数,是一种高级的函数形式
简单来说,偏函数是什么,其实就是没有定义好明确的输入参数的函数,函数体就是一连串的case语句
// 一般的函数 def getStudentGrade(name: String) = { ... }
偏函数是PartialFunction[A, B]类的一个实例
这个类有两个方法,一个是apply()方法,直接调用可以通过函数体内的case进行匹配,返回结果;
另一个是isDefinedAt()方法,可以返回一个输入,是否跟任何一个case语句匹配
val getStudentGrade: PartialFunction[String, Int] = { case "Leo" => 90; case "Jack" => 85; case "Marry" => 95 } getStudentGrade("Leo") getStudentGrade.isDefinedAt("Tom")