Wenn ich Fallklasse haben wie untenVerständnis Aufschlüsselung der Fallklassen
case class Calculator(brand: String, model: String)
definiert
Wie es Unapply Methode Begleiter Objekt aussehen würde? Welche Art von Argumenten würde es brauchen?
Ich bin nicht in der Lage, dies zu emulieren, indem Sie eine Klasse definieren und dann ist es Companion-Objekt von mir.
class abc (age:Int, name:String) {
}
object abc {
def apply(age:Int, name:String) = new abc(age, name)
def unapply(obj:abc) = Some("test")
}
abc(1, "aaaa")
res6: abc = [email protected]
res6 match {
| case abc(1, "aaaa") => println("found")
| }
error: too many patterns for object abc offering String: expected 1, found 2
case abc(1, "aaaa") => println("found")
^
<console>:14: error: type mismatch;
found : Int(1)
required: String
case abc(1, "aaaa") => println("found")