2014-09-21 7 views

답변

1

어떻게 될 수 있습니까? Int은 그냥 (유형 매개 변수는 모두 공변과 반군, append의 주요 동작 contravariant 위치 (결과 및 인수)에 나타납니다, 그래서,

그냥 간단한 카운터 예제를 제공 할 contravariant도 공변도 할 수 Seq[Int]을 고려할 수 있습니다 유형을 고치려면 무엇이든 될 수 있습니다.) 거기에서 반 구체를 쉽게 정의 할 수 있습니다. append++입니다. 이제 Option은 Seq를 확장하지 않지만 Seq를 확장하는 옵션 유형 (또는 단지 case class Single[A](a: A) extends Seq[A])을 배열하는 것은 쉽습니다. Seq[Int]의 세미 그룹은 절대로 Option [Int]의 세미 그룹이 될 수 없습니다. 또는 Single [Int]를 선택하면 두 옵션을 추가해도 옵션이 제공되지 않고 두 개의 싱글이 추가되지 않습니다.