Я пытаюсь из приведенного ниже примера понять unapply
,
class Emp(name: String, age: Int)
object Emp {
def apply(name: String, age: Int): Emp = new Emp(name, age)
def unapply(emp: Emp): Option[(String, Int)] = Some(emp.name, emp.age)
}
К сожалению, это не удается из-за ошибки компиляции Cannot resolve symbol name
, Cannot resolve symbol age
.
Принимая во внимание, когда я объявляюEmp
как класс case
, он отлично работает без каких-либо ошибок компиляции.
Может кто-нибудь объяснить причину этого?
Примечание: scalaVersion- 2.12.7