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

Разница между интерфейсом как ограничением типа и интерфейсом как параметром?
Если бы я хотел создать метод, который принимает экземпляр IList в качестве параметра (или любой другой интерфейс, но давайте использовать IList в качестве примера), я мог бы создать универсальный метод с ограничением типа, например: public...
773 просмотров

Предоставление типа, зависящего от пути, исходящего из одноэлементного типа
Я пытаюсь заставить Scala найти правильный тип для зависимого от пути типа, исходящего из одноэлементного типа. Во-первых, вот контейнер типа для примера и один экземпляр: trait Container { type X def get(): X } val container = new...
177 просмотров

Можем ли мы использовать синглтон .type в качестве параметра типа?
Я собирал ответ на этот вопрос: Scala mixin to class instance , где я показал способ «примешивания» другого признака или экземпляра класса к существующему экземпляру: case class Person(name: String) val dave = Person("Dave") val joe =...
566 просмотров
schedule 04.02.2023

Типы Scala: наименьшие верхние границы
Я пытаюсь параметризовать некоторые методы с очень общими параметрами типа. Например, в REPL я сначала определяю: trait Term case class FunctionalTerm[+T <: Term](t: T) extends Term Интуитивно следующий метод принимает Term и...
886 просмотров

Использовать производный тип в базовом абстрактном классе
Хорошо, у меня есть несколько разных классов, производных от базового класса. Этот базовый класс является абстрактным, содержащим методы commom. Один из методов - это метод Copy , который должен присутствовать во всех производных классах, поэтому...
8429 просмотров
schedule 23.12.2022

Построить общее дерево с наследованием
Я создаю общий класс Tree<T> , который поддерживает наследование поддеревьев. Но я столкнулся с некоторыми проблемами. Не могли бы вы помочь мне? Описание Давайте определим класс Tree и класс BlueTree , где BlueTree extends Tree ....
2034 просмотров

Ошибка Scala при реализации абстрактного метода с параметром типа
Короче говоря, это работает: object Main { def main(args: Array[String]) { trait T1[T] { def f1(a: T): Double } val ea1 = new T1[List[String]] { def f1(a: List[String]): Double = a.length } } } Но это не...
439 просмотров
schedule 07.03.2022

haxe должен быть ошибкой int
Haxe, кажется, предполагает, что некоторые вещи должны быть Int . В следующей функции class Main { static function main() { function mult_s<T,A>(s:T,x:A):A { return cast s*x; } var bb = mult_s(1.1,2.2); } } Я...
1392 просмотров
schedule 08.03.2024

дженерики параметров типа в интерфейсах и конкретных классах
Я создаю что-то подобное, и меня поразило использование дженериков в java. Идея: Producer производит что-то типа T, а consumers содержит объекты-команды , объекты-команды содержат разные посредники . Медиаторы содержат объекты типа Subject...
1809 просмотров
schedule 05.04.2023

Есть ли способ обойти неиспользуемый параметр типа?
Код: trait Trait<T> {} struct Struct<U>; impl<T, U: Trait<T>> Struct<U> {} Ошибка: error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates -->...
1218 просмотров
schedule 10.01.2024

Тип Параметр не находится в пределах его границ
Я получаю сообщение об ошибке при запуске компиляции maven в этом классе, но, похоже, при выполнении он работает нормально. Я просмотрел довольно много других сообщений по той же теме, но не смог заставить это работать для себя. EDIT – удалены...
5951 просмотров
schedule 01.09.2022

Scala: почему asInstanceOf может принимать параметр типа, а isInstanceOf — нет?
Вот надуманные эксперименты в REPL (scala 2.11): scala> class Foo[T] { | def as(x: Any) = x.asInstanceOf[T] | } defined class Foo scala> val foo = new Foo[String] foo: Foo[String] = Foo@65ae6ba4 scala> val x: Any = 123 x:...
1104 просмотров
schedule 07.01.2023

Обработка классов, присущих абстрактному классу и параметру типа
У меня есть базовый абстрактный класс и его параметр абстрактного типа: public abstract class Database<T> where T : DatabaseItem, new() { protected List<T> _items = new List<T> (); protected virtual void Read (string[] cols)...
253 просмотров

Оператор Scala #› вызывает ошибку компиляции, но не &› - почему?
У меня проблема с выводом типа, и я попросил помощи здесь . Первоначальная проблема была из-за перегрузки. После исправления у меня все еще были проблемы. Итак, вот код: class DPipe[ A ]( a: A ) { def !>[ B ]( f: A => B ) = Try(f( a...
61 просмотров

Обобщенные ограничения в предложении параметра типа?
SLS определяет синтаксис параметра типа как TypeParamClause ::= ‘[’ VariantTypeParam {‘,’ VariantTypeParam} ‘]’ FunTypeParamClause::= ‘[’ TypeParam {‘,’ TypeParam} ‘]’ VariantTypeParam ::= {Annotation} [‘+’ | ‘-’] TypeParam TypeParam...
37 просмотров

Параметр типа обходит предупреждение об исчерпании совпадений
Почему параметр типа, связанный с запечатанным типом, кажется, не вызывает предупреждение об исчерпании возможностей sealed trait A case class B() extends A case class C(i: Option[Int]) extends A def f[T <: A](a: T) = a match { case...
55 просмотров

Собирать необработанный поток в типизированную коллекцию?
Я вызываю библиотечный метод, который возвращает необработанный Stream . Я знаю тип элементов в потоке и хочу собрать их в коллекцию с объявленным типом элемента. Каков хороший или не очень ужасный способ сделать это? Минимальный воспроизводимый...
255 просмотров