scala 中有 PartialFunction 的概念。中文译作偏函数。

偏函数是个数学概念,不是函数的一种,而是一个跟函数平行的概念。指的是定义域 X 中可能存在某些值在值域 Y 中没有对应的值。

在 scala 中,偏函数是具有类型 PartialFunction(T,V) 的一种函数。T 是接受的函数类型,V 是返回的结果类型。最大的特点是只接受其参数定义域的一个字节,而对于这个子集之外的参数则抛出运行时异常。与 case 语句的特性非常类似,因为我们在使用 case 语句时,常常是匹配一组具体的模式,最后用 _ 来代表剩余的模式。

偏函数主要用于这样一种场景,对某些值现在还无法给出具体的操作。

isDefinedAt是 PartialFunction 的一个方法,用来确定PartialFunction是否能接受一个给定的参数。

apply用来描述对已接受的值如何处理。

文档对应章节:

1,github 官方的 scala School 2,scala初学者指南 3,Thinking in Scala