blob: 948014d758c4d316e42bc7a435ff3c1952029c38 (
plain) (
tree)
|
|
import PartialFunction.cond
import util._
object Test extends dotty.runtime.LegacyApp {
object I { def unapply(x: String): Option[Int] = Try(x.toInt).toOption }
implicit class RX(val sc: StringContext) {
def rx = sc.parts.mkString("(.+)").r
}
Console println ("2 by 4" match {
case rx"${I(a)} by ${I(b)}" => a+b
case _ => -1
})
Console println ("2 by 4" match {
case rx"${_} by ${I(b)}" => b // pattern placeholder
case _ => -1
})
Console println ("2 by 4" match {
case rx"$_ by ${I(b)}" => b // is permitted this way, too
case _ => -1
})
}
|