Вопросы по теме 'type-bounds'

Требуется разъяснение о дисперсии Scala и границах типов
У меня есть черта scala, определенная следующим образом: trait AdvertisementDAO[A <: Advertisement] extends CrudRepository[A, Integer] { ... Я хотел бы иметь возможность получить экземпляр этого DAO, который будет работать как для...
236 просмотров
schedule 02.08.2023

Можно ли издеваться над методами Scala с границами представления с помощью Mockito и Specs2?
Я столкнулся с проблемой, когда с помощью Mockito и Specs2 издевались над методами, у которых есть границы представления для типа их параметров. Проще говоря, поскольку привязка представления преобразуется в дополнительный неявный аргумент метода,...
1190 просмотров
schedule 21.07.2022

почему указанная эквивалентность между подстановочными знаками и экзистенциальными типами не наблюдается в REPL
Согласно языку программирования Java 4-го изд. раздел 15.7.1 «Типовые токены»: getClass получает особую обработку компилятором: если getClass вызывается для ссылки со статическим типом T , то компилятор обрабатывает возвращаемый тип...
859 просмотров

Какова мотивация классов типов в Scala?
У меня возникли проблемы с мотивацией использования классов типов в Scala при сравнении с верхними границами типов. Рассмотрим следующий код: case class NumList[T <: Complex](xs: Complex*) { def sum = (xs fold new Complex(0, 0))(_ +...
607 просмотров

Аргументы предполагаемого типа Scala - границы типа, выводящие на «Ничего»
Я пытаюсь написать простую монаду запроса, и у меня возникают проблемы с правильными аннотациями универсального типа. Моя первая попытка была следующей (значительно упрощенной для краткости): case class Person( val name: String ) abstract...
4060 просмотров

интерфейсные процедуры с привязкой к типу на Фортране
Я пытаюсь определить процедуру interface d как процедуру с привязкой к типу в определении Fortran type , но, похоже, она работает не так, как можно было бы ожидать. Рассмотрим следующий модуль: module example_module implicit none private...
2649 просмотров
schedule 06.04.2023

Проверка того, что аргумент универсального типа соответствует 2 несвязанным типам
В Scala можно указать тип, связанный с общим аргументом. Например, чтобы убедиться, что A будет соответствовать SomeType1 , можно сделать: trait Example[A <: SomeType1] Теперь предположим, что мне нужно убедиться, что A...
94 просмотров
schedule 25.01.2023

Верхняя и нижняя границы типа scala
Рассмотрим следующую иерархию: class C1 class C2 extends C1 class C3 extends C2 class C4 extends C3 Я хочу написать функцию, которая просто принимает типы C2 и C3 . Для этого я подумал о следующем: def f [C >: C3 <: C2](c :C) =...
625 просмотров
schedule 25.08.2022

Почему я получаю сообщение об ошибке: аргументы типа не соответствуют ошибке компилятора признаков?
Я застрял на ошибке компилятора Scala (2.11.7) в IntelliJ (14.1.5) уже несколько часов. Я гуглил, ломал голову и экспериментировал с кучей вариаций, но, похоже, не могу обойти это. Я взял контекст кода и обрезал его как можно меньше (включая...
414 просмотров

Подтипирование приводит к Any: ошибка в компиляторе или проблема с моим кодом?
Позвольте мне сразу перейти к проблеме, с которой я столкнулся, пока возился с ограничениями типов. Давайте рассмотрим следующее... Я создал функцию 'foo', подобную этой def foo[A,B](x:A,y:B):(A,B)=(x,y) Я вызвал foo на листе scala, например...
47 просмотров
schedule 07.10.2023

Верхняя граница типа разрешает подтипы, но не родительский тип
Возможно ли иметь универсальный метод с привязкой к типу, который означает «каждый возможный конкретный подкласс этого признака, но не сам признак?» В качестве примера предположим, что у меня есть следующая иерархия наследования: sealed trait...
406 просмотров
schedule 17.09.2022

Переменная вывода ошибки компиляции Java 8 D имеет несовместимые границы
Java 8 не будет компилировать приведенный ниже код (Java 7 делала это нормально). Я немного понимаю ошибку, но понятия не имею, как исправить мой код, можете ли вы мне помочь? Ошибка в этой строке: spec = spec.and(toSpecification(range));...
385 просмотров
schedule 10.01.2023

Почему я не могу вернуть конкретный подтип A, если общий подтип A объявлен как возвращаемый параметр?
abstract class IntTree object Empty extends IntTree case class NonEmpty(elem: Int, left: IntTree, right: IntTree) extends IntTree def assertNonNegative[S <: IntTree](t: S): S = { t match { case Empty => Empty // type mismatch, required:...
166 просмотров

Как избежать дублирования привязанного типа в Scala
У меня есть класс с параметром ограниченного типа. Я пробовал с identity , но возвращаемый тип неточен. И в методе identityTP мне нужно снова указать ограничение Как избежать дублирования этого ограничения с методами, работающими с этим...
87 просмотров