다음 코드 고려해 Foo(s)
이 Foo[Seq[T]] forSome {type T}
을 입력 가지고 Bar(s)
이 Bar[Seq[T]] forSome {type T}
을 입력 있기 때문에,스칼라의 실존 형 수량 한정자의 범위를 확장하여 두 변수에 같은 유형이 있음을 유형 검사기에 알리는 방법이 있습니까?
case class Foo[A](a:A)
case class Bar[A](a:A)
def f[B](foo:Foo[Seq[B]], bar:Bar[Seq[B]]) = foo.a ++ bar.a
val s : Seq[T] forSome {type T} = Seq(1, 2, 3)
f(Foo(s), Bar(s))
마지막 줄에 체크를 입력 실패를, 즉 각각 자신의 존재 한정사가 있습니다.
이 문제가 발생합니까? 사실 내가 컴파일시에 s
에 대해 알고있는 것은 그러한 실존 유형을 가지고 있다는 것입니다. Foo(s)
과 Bar(s)
을 실존 한정 기호의 범위에 포함 시키려면 어떻게해야합니까?
의미가 있습니까? 저는 스칼라와 멋진 유형에 대해 꽤 새로운 것입니다.