考虑以下Person
案例类:
scala> case class Person(name: String, age: Int) {}
defined class Person
...还有这个实例
scala> val b = Person("Kevin", 100)
b: Person = Person(Kevin,100)
有理由偏爱这段代码(带有 @
)吗?
scala> b match {
| case p @ Person(_, age) => println("age")
| case _ => println("none")
| }
age
...接下来的内容是什么?
scala> b match {
| case Person(_, age) => println("age")
| case _ => println("none")
| }
age
也许我没有理解 @
的意义/功能?
case p: Person if p != bill => p.age
。 - erdavila