blob: 9cd860afd8a0d29b66c8b584f24e0a0643d5c05a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
case class Foo(a: String, b: String)
object Bar {
def unapply(s: String): Option[Long] =
try { Some(s.toLong) } catch { case _ => None }
}
object Test {
def main(args: Array[String]) {
val f = Foo("1", "2")
f match {
case Foo(Bar(1), Bar(2)) => 1
case Foo(Bar(i), Bar(j)) if i >= 0 => 2
case _ => 3
}
}
}
|