【发布时间】:2010-10-07 07:56:20
【问题描述】:
让我们考虑以下函数:
def printPfType[T](pf:PartialFunction[T, _])(implicit m:Manifest[T]) = {
println(m.toString)
}
然后我定义如下测试类:
case class Test(s:String, i:Int)
我写不出来:
printPfType {
case Test(_,i) => i
}
因为编译器无法推断 PartialFunction 的第一个参数类型。我必须明确指定它:
printPfType[Test] {
case Test(_,i) => i
}
但随后Test 类型出现了两次。有没有避免这种情况的技术?如何帮助类型推断器避免重复?
【问题讨论】:
标签: scala type-inference