对象匹配中,什么才算匹配呢? 规则如下:
1)case中对象的unapply方法(对象提取器)返回some集合则为匹配成功
2)返回none集合则为匹配失败
object Square {
// 说明
// 1.unapply(z:Double):Option[Double] = {
println("unapply被调用 z 是=” +z )
None
}
def apply(z:Double): Doubel = z*z
case Square(n) => println("匹配成功 n=" + n)
case => println("nothing matched")
}
1) 当case后面的对象提取器方法的参数为多个,则会默认调用def