Given this Person
case class:
scala> case class Person(name: String, age: Int) {}
defined class Person
... and this instance
scala> val b = Person("Kevin", 100)
b: Person = Person(Kevin,100)
Is there a reason to prefer this code (with @
)
scala> b match {
| case p @ Person(_, age) => println("age")
| case _ => println("none")
| }
age
... over the following?
scala> b match {
| case Person(_, age) => println("age")
| case _ => println("none")
| }
age
Perhaps I'm missing the meaning/power of @
?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…