Результаты поиска по запросу "self-type"

4 ответа

Scala: реализация метода с возвращаемым типом конкретного экземпляра

1 ответ

Имеет ли смысл класс с собственным типом другого класса?

2 ответа

Scala Self Type и this.type в выпуске коллекций

Я пытаюсь обернуть голову вокруг абстрактных и явных типов себя в scala. Давайте рассмотрим этот пример: я хочу создать базу для расширяемого дерева так просто: trait Tree { def children: Iterable[Tree] def descendants: Iterable[Tree] = { val dv ...

ТОП публикаций

4 ответа

Scala: реализация метода с возвращаемым типом конкретного экземпляра

Мне нужен способ принудительного применения метода в абстрактном классе, чтобы иметь возвращаемый типбетон класс объекта он вызывается. Наиболее распространенным примером являетсяcopy() метод, и в настоящее время я использую подход, основанный на ...

1 ответ

Ах, спасибо! Я пытался A <? расширяет A <? >> но и другие перестановки, но эта не пришла мне в голову!

иерархия классов, в которой базовый класс определяет рекурсивный собственный тип: abstract class A<T extends A<T>> { }Как я могу объявить другой класс (который не должен быть универсальным в T, потому что такой T может изменяться в ...

2 ответа

Явные самостоятельные ссылки без типов / различий с '' this ''

Я понимаю использование дляЯвные ссылки [http://www.scala-lang.org/node/124]: trait T { self : T2 => ... }В теле,self это псевдоним дляthis но имеет более точный типT with T2. Теперь я видел это в коде: trait T { self => ... }То есть явная ...

2 ответа

, Это было бы как:

мог найти ответ на этот вопрос в любом другом вопросе. Предположим, что у меня есть абстрактный суперкласс Abstract0 с двумя подклассами, Concrete1 и Concret...

1 ответ

может ли сам тип типа scala применять тип класса case

2 ответа

 компилятором, потому что объявление собственного типа является однонаправленным (как упомянуто в комментариях).

родолжение кэтот вопрос [https://stackoverflow.com/questions/4774743/scala-self-type-member-of-type-parameter-error] . Я пытаюсь реализовать векторы в Scala с помощью универсального суперкласса, используя собственные типы: trait Vec[V] { self:V ...