提取器中缀表示法
如果一个 case 类只有两个值,那么它的提取器可以用于中缀表示法。
case class Pair(a: String, b: String)
val p: Pair = Pair("hello", "world")
val x Pair y = p
//x: String = hello
//y: String = world
任何返回 2 元组的提取器都可以这样工作。
object Foo {
def unapply(s: String): Option[(Int, Int)] = Some((s.length, 5))
}
val a Foo b = "hello world!"
//a: Int = 12
//b: Int = 5