艺术地说,Scala中的Partial Function就是一个“残缺”的函数,就像一个严重偏科的学生,只对某些科目感兴趣,而对没有兴趣的内容弃若蔽履。...在Scala中,所有偏函数的类型皆被定义为PartialFunction[-A, +B]类型,PartialFunction[-A, +B]又派生自Function1。...) -T1,
@specialized(scala.Unit, scala.Boolean, scala.Int, scala.Float, scala.Long, scala.Double, scala.AnyRef...例如编写一个函数,要求将字符串中的数字替换为对应的英文单词,则可以实现为:
val p1:PartialFunction[String, String] = {
case s if s.contains...is even"
case x if x % 2 == 1 => x + " is odd"
}
在Twitter的Effetive Scala中,给出了一个使用map的编码风格建议:
//avoid