मैं निम्नलिखित वर्ग पदानुक्रम की एक टपल पैटर्न मिलान:स्काला - संबंधित प्रकार
class A
class B extends A
class C extends A
तो, वहाँ एक और वर्ग है जो इन कक्षाओं के उदाहरण ले जाता है और वहाँ एक विधि है, जिसमें से दो मामलों पैटर्न मिलान इस तरह संभव हो रहे हैं:
class D (one: A, two: A) {
def work {
(one, two) match {
case (o, t): (B, B) => ... blablabla
case (o, t): (B, C) => ... blablabla
case _ =>
}
}
}
हालांकि, जब यह दूसरा मामला (B, C)
के पक्ष में मिलान समाधान हो जाना चाहिए, यह इसके (B, B)
के रूप में हल करने और वर्ग डाली अपवाद है कि C cannot be cast to B
साथ आता है की कोशिश करता है। क्यूं कर? क्या करें? मैं इसके आसपास कैसे आ सकता हूं?
मैं सही वाक्यविन्यास को समझने के लिए इतनी देर तक संघर्ष कर रहा हूं ... धन्यवाद! – Benoit