Вопросы по теме 'type-parameter'
Разница между интерфейсом как ограничением типа и интерфейсом как параметром?
Если бы я хотел создать метод, который принимает экземпляр IList в качестве параметра (или любой другой интерфейс, но давайте использовать IList в качестве примера), я мог бы создать универсальный метод с ограничением типа, например:
public...
773 просмотров
schedule
02.02.2024
Предоставление типа, зависящего от пути, исходящего из одноэлементного типа
Я пытаюсь заставить Scala найти правильный тип для зависимого от пути типа, исходящего из одноэлементного типа.
Во-первых, вот контейнер типа для примера и один экземпляр:
trait Container {
type X
def get(): X
}
val container = new...
177 просмотров
schedule
31.01.2023
Можем ли мы использовать синглтон .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 просмотров
schedule
20.09.2023
Использовать производный тип в базовом абстрактном классе
Хорошо, у меня есть несколько разных классов, производных от базового класса. Этот базовый класс является абстрактным, содержащим методы commom.
Один из методов - это метод Copy , который должен присутствовать во всех производных классах, поэтому...
8429 просмотров
schedule
23.12.2022
Построить общее дерево с наследованием
Я создаю общий класс Tree<T> , который поддерживает наследование поддеревьев. Но я столкнулся с некоторыми проблемами. Не могли бы вы помочь мне?
Описание
Давайте определим класс Tree и класс BlueTree , где BlueTree extends Tree ....
2034 просмотров
schedule
05.04.2023
Ошибка 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 просмотров
schedule
06.08.2023
Оператор Scala #› вызывает ошибку компиляции, но не &› - почему?
У меня проблема с выводом типа, и я попросил помощи здесь . Первоначальная проблема была из-за перегрузки. После исправления у меня все еще были проблемы.
Итак, вот код:
class DPipe[ A ]( a: A ) {
def !>[ B ]( f: A => B ) = Try(f( a...
61 просмотров
schedule
30.01.2023
Обобщенные ограничения в предложении параметра типа?
SLS определяет синтаксис параметра типа как
TypeParamClause ::= ‘[’ VariantTypeParam {‘,’ VariantTypeParam} ‘]’
FunTypeParamClause::= ‘[’ TypeParam {‘,’ TypeParam} ‘]’
VariantTypeParam ::= {Annotation} [‘+’ | ‘-’] TypeParam
TypeParam...
37 просмотров
schedule
07.02.2024
Параметр типа обходит предупреждение об исчерпании совпадений
Почему параметр типа, связанный с запечатанным типом, кажется, не вызывает предупреждение об исчерпании возможностей
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 просмотров
schedule
11.05.2023
Собирать необработанный поток в типизированную коллекцию?
Я вызываю библиотечный метод, который возвращает необработанный Stream . Я знаю тип элементов в потоке и хочу собрать их в коллекцию с объявленным типом элемента. Каков хороший или не очень ужасный способ сделать это?
Минимальный воспроизводимый...
255 просмотров
schedule
28.01.2023