【发布时间】:2011-07-05 12:57:38
【问题描述】:
我最近一直在玩 scala 模式匹配,想知道是否有办法在 case 语句中创建提取器。以下代码有效,但您必须先定义提取器并将其分配给 val:
val Extr = "(.*)".r
"test" match {
case Extr(str) => println(str)
}
我想做什么,或者我想让别人确认是不可能的,是这样的:
"test" match {
case ("(.*)".r)(str) => println(str)
}
编辑:如果 scala 团队中的任何人正在阅读此内容:实现这个是否可行?
【问题讨论】:
-
+1 的建议!这在其他情况下确实很有用。
-
@JPP:确实。我最初想到的案例是
or和and作为库函数,用于从简单的提取器构建复杂的提取器。
标签: scala syntax pattern-matching