向部分函数添加新参数
Adding new arguments to a partial function
是否有一些简单的方法可以将新参数添加到偏函数中,以便生成的函数定义在与以前相同的域中(新参数对其偏函数没有影响)?以下代码有效,但似乎有点冗长。
val func : PartialFunction[A, B] = ....
val f = new PartialFunction[(A,C), B] {
def isDefinedAt(x: (A,C)): Boolean = func.isDefinedAt(x._1)
def apply(x: (A,C)):B = func(x._1)
}
你可以这样做:
val f : PartialFunction[(A, C), B] = { case (a, _) if func.isDefinedAt(a) => func(a) }
是否有一些简单的方法可以将新参数添加到偏函数中,以便生成的函数定义在与以前相同的域中(新参数对其偏函数没有影响)?以下代码有效,但似乎有点冗长。
val func : PartialFunction[A, B] = ....
val f = new PartialFunction[(A,C), B] {
def isDefinedAt(x: (A,C)): Boolean = func.isDefinedAt(x._1)
def apply(x: (A,C)):B = func(x._1)
}
你可以这样做:
val f : PartialFunction[(A, C), B] = { case (a, _) if func.isDefinedAt(a) => func(a) }