Вопросы по теме '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 просмотров
schedule
14.12.2023
Какова мотивация классов типов в Scala?
У меня возникли проблемы с мотивацией использования классов типов в Scala при сравнении с верхними границами типов.
Рассмотрим следующий код:
case class NumList[T <: Complex](xs: Complex*) {
def sum = (xs fold new Complex(0, 0))(_ +...
607 просмотров
schedule
30.05.2023
Аргументы предполагаемого типа Scala - границы типа, выводящие на «Ничего»
Я пытаюсь написать простую монаду запроса, и у меня возникают проблемы с правильными аннотациями универсального типа.
Моя первая попытка была следующей (значительно упрощенной для краткости):
case class Person( val name: String )
abstract...
4060 просмотров
schedule
02.09.2022
интерфейсные процедуры с привязкой к типу на Фортране
Я пытаюсь определить процедуру 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 просмотров
schedule
16.05.2024
Подтипирование приводит к 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 просмотров
schedule
07.12.2022
Как избежать дублирования привязанного типа в Scala
У меня есть класс с параметром ограниченного типа.
Я пробовал с identity , но возвращаемый тип неточен.
И в методе identityTP мне нужно снова указать ограничение
Как избежать дублирования этого ограничения с методами, работающими с этим...
87 просмотров
schedule
10.06.2023