Функция идентификации уровня типа Scala в параметре типа - PullRequest
7 голосов
/ 04 февраля 2011

Я могу объявить абстрактный тип, такой как

type A[B]

и в подклассе определите это как

type A[B] = Option[B]

если я хочу, чтобы А был опцией. И если я хочу, чтобы A был B сам, я могу сделать это:

type A[B] = B

Могу ли я добиться того же с параметрами типа вместо членов типа?

1 Ответ

6 голосов
/ 04 февраля 2011

Попробуйте параметр с более высоким родом:

class Foo[A[_]] { ... }

type Id[A] = A

type Foo1 = Foo[Option]
type Foo2 = Foo[Id]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...