【问题标题】:Adding new arguments to a partial function向偏函数添加新参数
【发布时间】:2015-02-17 04:13:26
【问题描述】:

是否有一些简单的方法可以向偏函数添加新参数,以便在与以前相同的域中定义结果函数(新参数对其偏函数没有影响)?以下代码有效,但似乎有点冗长。

  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)
  }

【问题讨论】:

  • 能否请您将 Editable、Unit 和 Unit 替换为 A、B 和 C。我认为它可以更好地表述您的问题。

标签: scala partialfunction


【解决方案1】:

你可以这样做:

val f : PartialFunction[(A, C), B] = { case (a, _) if func.isDefinedAt(a) => func(a) }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多