在我看来,部分函数的 { case ... => ... }
语法需要至少一个 case
:
scala> val pf: PartialFunction[String, String] = { case "a" => "b" }
pf: PartialFunction[String,String] = <function1>
scala> val pf: PartialFunction[String, String] = { }
<console>:5: error: type mismatch;
found : Unit
required: PartialFunction[String,String]
val pf: PartialFunction[String, String] = { }
^
那么,定义“空”偏函数的最佳方法是什么?有没有比“手动”覆盖 isDefinedAt 和 apply 更好的方法?
最佳答案
Map 是一个 PartialFunction,所以你可以这样做:
val undefined: PartialFunction[Any, Nothing] = Map.empty
关于scala - Scala 中的空部分函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7188933/