基本語法

Scala 有一種特殊型別的函式,稱為部分函式 ,它擴充套件了普通函式 - 這意味著 PartialFunction 例項可以在任何預期的 Function1 中使用。可以使用也用於模式匹配的 case 語法匿名定義部分函式 :

val pf: PartialFunction[Boolean, Int] = {
  case true => 7
}

pf.isDefinedAt(true) // returns true
pf(true) // returns 7

pf.isDefinedAt(false) // returns false
pf(false) // throws scala.MatchError: false (of class java.lang.Boolean)

如示例所示,不需要在其第一個引數的整個域上定義部分函式。標準 Function1 例項假定為 total ,這意味著它是為每個可能的引數定義的。