Scala 正则表达式 + 部分函数取消应用性能



假设我有一个这样的代码:

val pf: PartialFunction[String, Unit] =
  "string" match { case regex(g1, g2, _*) =>
    function(g1, g2)
  }

pf有方法isDefinedAtapply。正则表达式搜索是一次性评估一次,isDefinedAt点,还是工作将完成两次?

如果一次,参数g1, g2如何传递给apply方法?

正则表达式将被评估一次。工作在提取器中完成,Regex.unapplySeq .提取器的返回类型是Option[List[String]],因此它知道正则表达式是匹配的(Some还是None(和捕获的组(List[String](都在一个捆绑包中。

相关内容

  • 没有找到相关文章

最新更新