관련 종류의 튜플 패턴 일치 : 다음스칼라 - I는 다음의 클래스 계층이
class A
class B extends A
class C extends A
를,이 클래스의 인스턴스를 취하고있어서가 다른 클래스 존재하는 두 가지 경우 중 패턴 매칭은 다음과 같이 할 수 있습니다 : 그것은 두 번째 경우 (B, C)
에 찬성 일치를 해결해야 할 때
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, B)
로 해결하고 C cannot be cast to B
그 클래스 캐스트 예외와 함께 제공하려고합니다. 왜? 무엇을해야합니까? 이 문제를 어떻게 해결할 수 있습니까?
나는 정확한 구문을 알아 내기 위해 너무 오랫동안 고심 해왔다 ... 고마워! – Benoit