나는 특성이 Foo[A, B]
이라고 가정합니다.형식 매개 변수의 형식 매개 변수를 Scala의 매개 변수화 된 클래스에 전파 할 수 있습니까?
Foo
으로 매개 변수화 된 Bar
클래스를 정의하고 Bar
메소드에 Foo
유형 매개 변수를 다시 사용하고 싶습니다. (이 코드는 컴파일되지 않습니다) 아래 그림과 같은 무언가 :
trait Bar[Foo[A, B]] {
def doSmth[C](A => C): C
}
비슷한 무언가를 달성하기 위해 어떤 방법이 여전히 Bar
선언에서 단지 하나의 형식 매개 변수가?
p.s. 누군가가 설명 된 내용에 대해 올바른 용어를 제안 할 수 있다면 또한 좋을 것입니다.
'Foo'가 특성 인 경우 유형 인수 내에 포함시키는 목적은 무엇입니까? 유스 케이스 란 무엇입니까? –
@ m-z :'Bar'를 기반으로 계산 체인을 만들려고합니다. (그래도'Monad '라고 불릴 지 모르겠습니다.) 'Foo [A, B]'는 현재 계산 단계를 나타내며,'Function1'처럼 smth 일 수 있습니다. 나는 'Bar'부분이 그 타입에 계산 컨텍스트를 가지고 있기를 정말로 원합니다. – Roman
'바 '에서'푸'에 대해 알고 싶습니까? 또는 형식 매개 변수 만? 즉, 여러 개의 유형 매개 변수가있는 경우 Bar [A, B] 또는 Foo [A, B, F [A, B]'가됩니까? –