ilgili tip bir demet desen eşleştirme: oScala - Aşağıdakilerin sınıf hiyerarşisi vardır
class A
class B extends A
class C extends A
, bu sınıfların örnekleri alır ve bir yöntem yoktur başka bir sınıf, orada olduğu iki durum arasında desen eşleştirme böyle mümkündür: Bu ikinci durumda (B, C)
lehine eşleşmesini çözmelidir zaman
class D (one: A, two: A) {
def work {
(one, two) match {
case (o, t): (B, B) => ... blablabla
case (o, t): (B, C) => ... blablabla
case _ =>
}
}
}
Ancak, (B, B)
olarak çözülmesi ve C cannot be cast to B
o sınıf dökme haricinde çıkageldi dener. Niye ya? Ne yapalım? Bu konuda nasıl gelebilirim?
Doğru sözdizimini anlamak için çok uğraştım ... Teşekkürler! – Benoit