Вопросы по теме 'implicits'
Как выразить этот тип в Scala? Экзистенциальный с ограничением класса типа (т. е. неявным)?
Я использую библиотеку JSON платформы Play, которая использует класс типов для реализации Json.toJson функция . (Я могу решить использовать другой метод с менее статической типизацией, такой как отражение, но сейчас я хочу использовать эту...
720 просмотров
schedule
29.12.2023
Почему мы должны явно импортировать неявные преобразования с неявными параметрами из сопутствующих объектов? Странный.
Рассмотрим этот код:
class A
object A{
implicit def A2Int(implicit a:A)=1
implicit def A2String(a:A)="Hello"
}
object Run extends App{
implicit val a: A =new A
import A.A2Int
// without this import this code does not compile, why ?...
3409 просмотров
schedule
30.09.2023
Бесконечная рекурсия с бесформенным выбором [U]
У меня была отличная идея (ну, это спорно, но, допустим, у меня была идея), как упростить неявную инъекцию зависимостей в Scala. Проблема, с которой я сталкиваюсь, заключается в том, что если вы вызываете какие-либо методы, требующие неявной...
271 просмотров
schedule
23.08.2023
Создание переопределяемого неявного
Я хотел бы реализовать универсальный неявный класс, который можно переопределить. Как следующее:
tooling.scala
package tooling
case class Tool( msg: String)
class Toolkit{
def usingTool(source:String)(implicit tool:Tool){...
67 просмотров
schedule
06.07.2023
Scala: как избежать копирования неявных параметров? например альтернатива классу типов?
Этот Вопрос является следствием Вопроса Как определить абстрактный копируемый суперкласс для любого case-класса , но можно оставить этот контекст в покое и сосредоточиться на этом:
ПРИМЕЧАНИЕ. Вся кодовая база компиляции (со Scala 2.11.8) доступна...
142 просмотров
schedule
19.10.2023
поведение неявного объявления функции
Я знаю, что использовать функцию без прототипа неправильно. Но когда я возился, я столкнулся с этим странным и противоречивым поведением.
test1
#include <stdio.h>
#include <limits.h>
void main(){
char...
536 просмотров
schedule
11.06.2023