Описание тега type-parameter

Параметр типа - это параметр, значение которого является типом.
1 ответ

Границы параметра типа Scala

У меня возникли проблемы с пониманием системы границ типов в Scala. То, что я пытаюсь сделать, - это создать класс-держатель, содержащий элементы типа T, которые могут перебирать элементы типа A. До сих пор у меня было следующее: class HasIterable[T…
15 июл '11 в 21:33
4 ответа

Использовать производный тип в базовом абстрактном классе

Хорошо, у меня есть несколько разных классов, производных от базового класса. Этот базовый класс является рефератом, содержащим методы commom. Одним из методов является Copy метод, который должен присутствовать во всех производных классах, поэтому я…
02 июл '13 в 17:45
3 ответа

Почему мы можем создать экземпляр Pair<T>, но не можем с Pair<?>

Так почему же мы можем создать экземпляр Pair, но не можем создать экземпляр Pair Pair&lt;T&gt; p=new Pair&lt;T&gt;(); В.С. Pair&lt;?&gt; p=new Pair&lt;?&gt;(); я знаю это &lt;?&gt; значит неизвестный тип -> &lt;? extends Object&gt; но не &lt;T&gt; …
5 ответов

Где т: несколько классов

List&lt;T&gt; Foo&lt;T&gt;(Ilist list) where T : ?? есть ли способ заставить T бытьодин из немногих классов? в конце концов я хочу сделать переключение на T.. Благодарю.
29 июн '10 в 12:41
2 ответа

Типы скалы: наименьшие верхние границы

Я пытаюсь параметризовать некоторые методы с очень общими параметрами типа. В качестве примера, в REPL я сначала определяю: trait Term case class FunctionalTerm[+T &lt;: Term](t: T) extends Term Интуитивно понятно, что следующий метод принимает Term…
16 май '12 в 17:48
1 ответ

Как проверить (универсальный (универсальный аргумент))?

Фон (о котором нам не нужно беспокоиться) Это вопрос, полученный из Построить родовое дерево с наследованием. Я открываю этот вопрос как отдельный вопрос, потому что это связано не только с проблемой дерева. Это скорее общая проблема и проблема клас…
0 ответов

Java - в чем смысл: <T> List<T> unmodifiableList (список<? Extends T>)

Это статический метод из класса Collections. Аргумент типа "? Extends T" ограничен, в частности он имеет верхнюю границу, представленную переменной типа T, которая идентифицирует единственный типовой метод универсального метода, который неявно огран…
0 ответов

Параметр неявно-обобщенной функции F# в выражениях разных типов

У меня есть служебная функция, которая объединяет запись сообщения об ошибке (включая форматирование строки) с выдачей исключения (либо raise-ing существующее исключение или вызов failwith используя отформатированное сообщение об ошибке, аналогично …
2 ответа

Обмен верхней границы параметра типа на параметр доказательства

Я хочу ослабить ограничения на параметр типа признака и вместо этого наложить их на метод в форме параметра доказательства. Учитывая некоторые настройки скелета: trait State[Repr] object Observer { def apply[Repr &lt;: State[Repr]](reader: Reader[Re…
02 янв '12 в 15:41
1 ответ

Параметр типа Scala как инъективное отображение

Есть какой-то тип T и абстрактный класс X[T]и в чем главное, для каждого конкретного типа T, если он определен, существует только один подкласс X[T], например, IntX extends X[Int], который является единственным подклассом для X[T] с T = Int, То есть…
11 июн '18 в 18:22
1 ответ

Scala: ошибка компиляции с подстановочными знаками (параметрами типа) и коллекциями: "вы можете захотеть исследовать подстановочный тип как"

Скажем, у меня есть класс с именем Box с параметром типа, и он имеет следующие служебные методы: class Box[T] object Box { def build() : Box[_] = ??? def combine(boxes: Set[Box[_]]) : Unit = ??? } Я пытаюсь использовать эти методы несколькими способ…
1 ответ

Обходной параметр параметра типа Scala

Хорошо, я знаю, что у Scala нет параметров типа aux cons. Что делать, если у меня есть класс, как class Group[G &lt;: Groupable] (groupees: Buffer[G]) { //stuff here } и что, если я хочу расширить этот класс, скажем, class Lizards extends Group [Liz…
21 мар '12 в 16:42
1 ответ

Скала динамического типа

object BugFixProject { def main (args: Array[String]) { val repoWithEntities = Seq( (ARepo, Seq(A("", ""), A("", ""))), (BRepo, Seq(B("", ""), B("", ""))) ) printall(repoWithEntities) } def printall[Entity](pairs: Seq[(BaseRepo[Entity], Seq[Entity])…
19 июн '15 в 15:38
1 ответ

Scala: избегая избыточных параметров типа

Предположим, у меня есть абстрактный класс Bar, который принимает параметр типа: abstract class Bar[A] { def get: A } и у меня есть функция, которая хочет создать экземпляр некоторых Bar объекты, назвать их get методы и вернуть результаты: def foo[A…
03 июн '12 в 06:10
1 ответ

Общая ленивая инициализация со скалой

Я не хотел писать много шаблонного кода, поэтому я решил написать универсальный метод для lazy-init. import java.util._ import concurrent.ConcurrentHashMap object GenericsTest { val cache: ConcurrentHashMap[Long, ConcurrentHashMap[Long, ConcurrentHa…
22 июл '13 в 22:22
5 ответов

Спецификация параметров типа C#

Некоторые специальные типы CLI из библиотеки mscorlib (ArgIterator, TypedReference а также RuntimeArgumentHandle типы) нельзя использовать в качестве параметров универсального типа для создания универсальных типов / методов: void Foo&lt;T&gt;() { } …
14 янв '10 в 13:58
1 ответ

Есть ли способ обойти неиспользуемый параметр типа?

Код: trait Trait&lt;T&gt; {} struct Struct&lt;U&gt;; impl&lt;T, U: Trait&lt;T&gt;&gt; Struct&lt;U&gt; {} Ошибка: error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates --&gt; src/main.rs:5:6 | 5 | impl&lt…
24 янв '15 в 07:48
1 ответ

Можно ли принять произвольный экстрактор в качестве аргумента метода

Я хотел бы повторно использовать существующие экстракторы и составить их. A =&gt; Option[B] идеально сочетается с B =&gt; Option[C], Но я запутался, как я мог выразить такое отношение в коде. Очевидный способ не доступен по уважительной причине: typ…
5 ответов

Получить параметр типа T из созданного экземпляра System.Type?

У меня есть System.Type определенного объекта, но мне нужно передать его как параметр типа T другому методу... это возможно? Или я потерялся в общей картине?
29 мар '09 в 14:18
2 ответа

Есть ли способ использовать параметр типа в объявлении индексатора?

Я так не думаю, но прежде чем я сдаюсь и использую метод: public T this&lt;T&gt;[String index] { get{ //return stuff } } У меня нет параметра типа в классе. Я просто хочу вернуть другой тип в зависимости от того, что я хочу получить. например: myObj…
29 апр '11 в 18:44