Вопросы по теме 'implicits'

не может экзистенциально абстрагироваться от параметризованного типа
Я развлекался со Scala 2.8 и пытался определить сутенера . который добавляет метод "as" к конструкторам типов, позволяющий преобразовывать один функтор в другой (пожалуйста, не обращайте внимания на тот факт, что здесь я не обязательно имею дело с...
1318 просмотров
schedule 25.06.2023

неоднозначные последствия
Вопрос в том, почему следующий код не работает с выводом типа (ниже показан сеанс REPL для демонстрации) и можно ли это исправить? В частности, чем это отличается от использования CanBuildFrom, которое компилятор использует для определения типа...
1115 просмотров
schedule 13.07.2022

Что делать с операциями для определенного вида коллекции?
В нескольких разных местах моего приложения мне нужно взять Seq[SalesRow] и вернуть Map[String,SalesRow] , где строка — это название страны. Мне нужно использовать это в нескольких местах. Например, я беру список всех SalesRows и получаю...
187 просмотров
schedule 16.06.2023

Почему DummyImplicit не устраняет неоднозначность [String] (a: A) из (a: String)
Учитывая следующий фрагмент кода: final case class Attr[A](name: String)(implicit conv: String To A) { def apply(value: A)(implicit dummy: DummyImplicit) = Attribute(name, value) def apply(value: String) = Attribute[A](name, value) }...
511 просмотров
schedule 17.08.2022

Неявный Scala Numeric[T] в сопутствующем объекте
У меня есть следующий общий класс Interval (любезно сформулированный для меня пользователем soc): case class Interval[T](from: T, to: T)(implicit num: Numeric[T]) { import num.mkNumericOps // allows us to write from.toDouble and to.toDouble...
1090 просмотров

Есть ли какое-то преимущество в использовании Mapper против неявных операторов?
Картограф Автокарта: Mapper.CreateMap<ObjectType1, ObjectType2>() .ForMember(o1 => o1.PropName, mapper => mapper.MapFrom(o2 => o2.Prop2Name)); Mapper.Map(object1, object2); Неявный оператор: public static implicit...
1319 просмотров

Неявное разрешение контекста Scala
Я нашел там правила для неявного разрешения в SLS: если T составной тип T1 с ... с Tn, то объединение частей T1, ..., Tn, а также самого T если T параметризованный тип S[T1,...,Tn], то объединение частей S и T1,...,Tn если T является...
374 просмотров
schedule 21.11.2022

Интеграция scala с java
Я новичок в Scala. Мне нужна помощь в решении этой проблемы. Я создал проект, написанный на Scala , и я Я пытаюсь интегрировать его с проектом Java. Я взял зависимость от сборки scala jar в своем проекте Java в eclipse. Однако, когда я вызываю...
881 просмотров
schedule 15.06.2023

Спрей-клиент Scala определяет имплициты для AKKA ActorRefFactory
Я пытаюсь написать простой HTTP-клиент, используя Scala и спрей-клиент. Я основываю свой клиент на примерах, приведенных в документации по Spray . Моя проблема в том, что в примере создается новая неявная ActorSystem, т.е. implicit val...
4346 просмотров
schedule 13.04.2024

Создание экземпляров класса ковариантного типа из экземпляров нековариантного класса
Предположим, у меня есть класс простого типа, экземпляры которого дадут мне значение некоторого типа: trait GiveMeJustA[X] { def apply(): X } И у меня есть несколько примеров: case class Foo(s: String) case class Bar(i: Int) implicit...
686 просмотров

Существуют ли какие-либо рекомендации по стилю использования неявного параметра со значением по умолчанию в scala?
Можно ли использовать такие решения, как здесь: def convert[T](x: T)(implicit format = Default) = ... Это позволяет вам не указывать имплициты, если вам это не нужно. Но многие библиотеки (по крайней мере, Lift Json и Scala Concurrent)...
109 просмотров
schedule 02.01.2023

Контекст, привязанный к вложенному типу
Можно ли как-то создать контекст, привязанный к вложенному типу? Что-то вроде этого: def f[T : U[List]](a: T) Конечно, это не синтаксис Scala, но он иллюстрирует то, чего я хочу достичь, то есть получить ограничение на неявное U[List[T]] ....
164 просмотров
schedule 04.04.2023

Бесформенный Scala: вывод типа из Mapper
Метод doesNotCompile принимает только HLlist, содержащие только Label[A] записей. Существует Mapper, который преобразует Label[A] в строку (если быть точным: Const[String]#λ ). Однако, когда я применяю преобразователь, возвращаемый тип —...
538 просмотров
schedule 31.07.2023

Почему компилятор Scala не может использовать неявное преобразование унаследованного типа?
В настоящее время я копаюсь в неявной теме и застрял в этом случае: class A class B extends A object A { implicit def b2String(b: B): String = "B" } object B { implicit def a2String(a: A): String = "A" } val s: String = new B // This does not...
91 просмотров
schedule 12.09.2022

Класс Scala с частным конструктором и неявным параметром
Я хотел бы добавить неявный параметр в класс с частным конструктором. Вот как упрощенный пример: class A[T] private(a:Int){ def this()=this(0) } Если бы я хотел применить шаблон Pimp my library к T с помощью Ordered[T], мне нужно было...
382 просмотров
schedule 16.06.2023

Неявное преобразование Scala для псевдонимов типов
Определять type TA[T] = T => Int implicit class TAOps[T](a: TA[T]) { def foo(): Unit = {println("TA")} } val ta: TA[Double] = x => x.toInt Сейчас, ta.foo() не компилируется с сообщением value foo is not a member of...
894 просмотров
schedule 17.07.2023

Стоимость выполнения неявных определений в шаблоне класса типов Scala
Я просматриваю эту статью о том, как Typeclasses моделируются в Scala с использованием имплицитов. Если я не ошибаюсь, новый экземпляр создается во время выполнения каждый раз, когда используется метод класса типов для объявления рекурсивного...
302 просмотров
schedule 11.07.2023

Вызов имплицитов Scala для подклассов запечатанного абстрактного трейта
Я использую две библиотеки Scala, которые обе полагаются на неявные параметры для предоставления кодеков / маршаллеров для классов case (рассматриваемые библиотеки - это msgpack4s и op-rabbit). Ниже приводится упрощенный пример: sealed abstract...
421 просмотров
schedule 08.07.2022

Общий Avro Serde с использованием shapeless-datatype
Я изо всех сил пытаюсь создать общий AvroSerde в Scala. Я буду использовать этот serde в сочетании с Flink , поэтому этот serde сам должен быть сериализуемым. В Avro нет встроенной поддержки Scala, однако есть несколько библиотек, которые позволяют...
454 просмотров
schedule 07.06.2022