5
이 가능한 패턴 매칭을 통해 케이스 클래스가 아닌 클래스의 서브 타입을 검출하는 것이다?없이 패턴 매칭
나는 자바 클래스를 기존 사용할 필요, 그래서 난 내 자신의 경우 클래스를 선언 할 수 없습니다.
이 가능한 패턴 매칭을 통해 케이스 클래스가 아닌 클래스의 서브 타입을 검출하는 것이다?없이 패턴 매칭
나는 자바 클래스를 기존 사용할 필요, 그래서 난 내 자신의 경우 클래스를 선언 할 수 없습니다.
네! 유형에 패턴 매치를 할 수 있으므로 다른 하위 유형에 대해 다른 사례가있는 경우 원하는 행동을 얻을 수 있습니다.
trait A
class B extends A
class C extends A
def f(a: A) = a match {
case b: B => "a B!"
case c: C => "a C!"
}
f(new B) // a B!
f(new C) // a C!
또한, [여기] 자세한 내용은 (http://lampwww.epfl.ch/~emir/bqbase/2006/10/11/typecase.html) – goncalopp
이 - 당신 덕분에 나는 그것이 "유형의 일치"라고, 또는 typecase이있어 발견 'A'는'Object' (또는'Any')가 될 수 있습니다. – goncalopp