【发布时间】:2013-07-23 09:23:01
【问题描述】:
定义 PF 有两种方法:1)使用文字 case {} 语法和 2)作为显式类。我需要下面的函数抛出一个 MatchError,但在第二种情况下不会发生。
1) 带外壳
val test: PartialFunction[Int, String] = {
case x if x > 100 => x.toString
}
2) 作为类
val test = new PartialFunction[Int, String] {
def isDefinedAt(x: Int) = x > 100
def apply(x: Int) = x.toString
}
在秒的情况下,我应该手动调用isDefinedAt,不应该被编译器隐式调用吗?
【问题讨论】:
标签: scala partialfunction