मैं कुछ केस क्लासेस के खिलाफ मैच कर रहा हूं और दो मामलों को उसी तरह से हैंडल करना चाहूंगा। कुछ इस तरह:
abstract class Foo
case class A extends Foo
case class B(s:String) extends Foo
case class C(s:String) extends Foo
def matcher(l: Foo): String = {
l match {
case A() => "A"
case B(sb) | C(sc) => "B"
case _ => "default"
}
}
लेकिन जब मैं ऐसा करता हूं तो मुझे त्रुटि मिलती है:
(fragment of test.scala):10: error: illegal variable in pattern alternative
case B(sb) | C(sc) => "B"
मैं इसे काम कर सकता हूं मैं बी और सी की परिभाषा से मापदंडों को हटा सकता हूं लेकिन मैं पैरामेट्स के साथ कैसे मेल कर सकता हूं?