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

Как структура может наследоваться от класса в ограничениях параметров типа?
Я увидел следующую строку кода: class Sample<T,U> where T:class where U: struct, T В приведенном выше случае параметр U имеет тип значения и является производным от типа ссылки T . Как эта строка может быть допустимой? Кроме...
1725 просмотров
schedule 17.05.2022

Почему параметры типа шаблона не выводятся как «константные»?
Возможный дубликат: вывод ссылок на const из Аргументы rvalue Если у меня есть template<class T> void foo(T &) { } и я называю это как foo((const int)5) , учитывая, что аргумент является const int , почему...
610 просмотров
schedule 14.01.2023

Метод с параметром типа не компилируется
Я не претендую на то, что этот код является хорошей практикой программирования, но я не понимаю, почему он не компилируется. Что тут происходит? object CustomTo extends App { val thing:Something = new Something val str:String =...
102 просмотров
schedule 07.06.2023

Аргумент общего типа, проверенный параметром класса, можно взломать, есть ли лучшие способы?
Рассмотрим класс: class OnlyIntegerTypeAllowed<T> { OnlyIntegerTypeAllowed(Class<T> clazz) { System.out.println(clazz); if (clazz != Integer.class) throw new RuntimeException(); } } Он...
301 просмотров

импорт и использование могут не появляться после объявления типа, если haxe использует магию
Я пытаюсь добавить метод «меньше или равно» (ненавязчиво) к базовым типам, таким как Int, Float или существующие/библиотечные типы, которые я не могу изменить. (см. мой другой вопрос как написать общую функцию сравнения в Haxe (haxe3) ) я читал,...
102 просмотров
schedule 03.09.2022

В общем, как получить «параметр типа» параметра рекомендуемого метода
С помощью Spring AOP я пишу аспект с советом вокруг, который перехватывает любой метод, аннотированный @MyAnnotation . Предположим, что перехваченный метод был объявлен следующим образом: @MyAnnotation public String...
301 просмотров

Построитель гетерогенных списков со статическими типами
То, что я пытаюсь достичь, - это способ: Определить список типов для разнородного списка Из приведенного выше определения создайте статически типизированный список значений. В идеале я хотел бы ввести следующее выражение в IDE: val...
158 просмотров

Ограничение базового класса для универсального класса, определяющее сам класс
Вчера я объяснял своим друзьям общие ограничения C#. При демонстрации ограничения where T : CLASSNAME я сделал что-то вроде этого: public class UnusableClass<T> where T : UnusableClass<T> { public static int method(T input){...
1589 просмотров

Как предоставить класс типов по умолчанию для универсальных типов в Scala?
В Scala, если вы создаете класс типов, скажем, алгебраическую структуру Monoid[T] , вы можете предоставить множество реализаций классов типов по умолчанию для различных типов, являющихся моноидами. Предположим, что моноид определяется как:...
289 просмотров

Каковы параметры типа для событий и обработчиков F#?
Я пытаюсь использовать события и обработчики .NET, используя пример здесь: https://msdn.microsoft.com/en-us/library/dd233189.aspx В частности, раздел «Создание пользовательских событий». Но я пытаюсь определить его в интерфейсе, чтобы...
76 просмотров
schedule 28.02.2023

Неожиданная синтаксическая ошибка в параметре типа метода
Почему это вызывает ошибку компиляции: public <S super T> void addImplements(Class<S> cl) тогда как это нормально: public <S extends T> void addImplementedBy(Class<S> cl) T — это параметр типа, указанный в...
320 просмотров

Scala: вопросительные знаки в параметрах типа
Я пытаюсь понять следующий фрагмент кода (из библиотеки Scalaz): def kleisliIdApplicative[R]: Applicative[Kleisli[Id, R, ?]] = ... Я предполагаю, что тип формы T[P0, ?] является конструктором типа, который принимает параметр. Однако я не...
2966 просмотров
schedule 02.05.2022

В Scala можно ли каррировать параметры типа def?
Предположим, у меня есть определение, которое принимает несколько параметров типа: def foo[A, B, C](b: B, c: C)(implicit ev: Writer[A]) Однако предполагаемое использование заключается в том, что параметры типа B и C должны быть выведены...
1011 просмотров

Почему этот общий код Java с ограниченным подстановочным знаком не компилируется?
Я читал прекрасный FAQ по Java Generics от Анжелики Лангер , когда прочитал этот пример исходного кода. что я не могу понять: import java.util.List; import java.util.ArrayList; import java.lang.Number; import java.lang.String; import...
78 просмотров

Почему я не могу использовать «как» с параметром универсального типа, который ограничен интерфейсом?
В приведенном ниже примере (только для демонстрационных целей), если T не ограничен классом, то это преобразование: var ret = objectA as T; .. вызовет следующую ошибку компиляции: Параметр типа «T» нельзя использовать с оператором...
1976 просмотров
schedule 11.07.2022

Как функция может потребовать, чтобы тип реализовал трейт, не удаляя существующую привязку трейта?
Я пытаюсь получить main_func , который возвращает вектор структур типа T с чертой SrObject . struct TestA { value: u8, } pub trait SrObject { fn myfunc(&mut self); } impl SrObject for TestA { fn myfunc(&mut self) {...
107 просмотров
schedule 25.09.2022

Как совместить границы параметров типа и функторы с помощью Cats?
Я сталкиваюсь с рядом случаев использования, когда я заканчиваю попытки написать экземпляры Functor , Applicative , Monad и т. д. в контекстах, где я также использую границы параметров типа. Например... import cats._ trait Preference[A]...
258 просмотров

Как вы используете `switch` в C# для условного ветвления на основе только параметра типа?
Мой контекст заключается в том, что я создаю простой фабричный метод для создания экземпляров производных типов данного базового типа. Фабричный метод принимает только параметр типа, т.е. не имеет аргументов. Это, очевидно, возможно с конструкцией...
135 просмотров

как использовать перегрузку оператора в Kotlin для деления числа на числовой вектор
Я пытаюсь воссоздать в Kotlin то, что верю возможно в Pandas/Python. Я хотел бы выполнить деление так, чтобы число (Int, Double и т.д.) было разделено числовым вектором. (Мне сказали, что это возможно, но я не нашел ссылки.) Один пример, который я...
351 просмотров

Что означает A в def foldLeft[B](z: B)(op: (B, A) => B): B?
foldLeft и многие другие методы коллекции библиотеки Scala будут иметь сигнатуру метода, подобную этой def foldLeft[B](z: B)(op: (B, A) => B): B . Я знаю, что параметр типа B означает тип результата бинарного оператора. Но я понятия не...
84 просмотров
schedule 08.08.2023