Описание тега context-bound
Границы контекста были введены в Scala 2.8.0 и обычно используются с так называемым шаблоном класса типа, шаблоном кода, который имитирует функциональные возможности, предоставляемые классами типов Haskell, хотя и более подробным образом.
1
ответ
В чем преимущество Scala с привязкой к контексту над обычным параметром?
Я читаю о границах контекста и неявных параметрах, которые должны работать как классы типов. Примеры, которые я часто вижу Ordering[T], Что-то вроде: foo[T : Ordering](a: T, b: T) который является сахаром для foo[T](a: T, b: T)(implicit ord: Orderin…
06 мар '14 в 22:35
1
ответ
Возможно ли иметь два или более связанных с контекстом класса в Scala
Как мне указать, что мне нужно, например, ClassTag И Порядок для T? пример def sort[T: ClassTag <and> Ordering](future: Future[Seq[T]]): Future[Seq[T]]
21 июл '14 в 15:37
1
ответ
Scala: явное указание контекста, связанного во втором конструкторе
Почему это разрешено: class Foo[O: Option](s: String) new Foo[Any]("foo")(None) пока это не class Foo[O: Option](s: String) { def this() = this("foo")(None) } сообщение компилятора: Foo [O] не принимает параметры Есть ли способ предоставить контекст…
05 сен '14 в 22:56
2
ответа
Неявное разрешение для аргумента функции
Я попытался реализовать сортировку слиянием в Scala. Я добрался до следующего: def mergeSort[A: Ordering](as: List[A]): List[A] = as match { case Nil => as case head :: Nil => as case _ => { val (l, r) = split(as) merge(mergeSort(l), mergeS…
15 июн '15 в 12:36
1
ответ
В Scala, как создать признак для классов с функциями, использующими разные границы контекста
Теперь я хочу сериализовать / десериализовать данные Json, и на выбор есть несколько библиотек JSON. Тем не менее, они используют разные контекстные границы для кодирования / декодирования, что затрудняет определение их характеристик. trait JsonLib …
28 апр '17 в 00:26
1
ответ
Scala - параметры типа метода
Я пытаюсь понять какой-то автоматически сгенерированный код компилятором scala, но я не знаю, после чего искать. У меня есть следующий класс: trait Arrow1[F[_, _]] abstract class Test { def f1[F[_, _] : Arrow1, A, B, C](fa: F[A,B], fb: F[A, C]): F[A…
12 авг '18 в 21:22
2
ответа
Решение множественного наследования (для предварительно приготовленных классов)
Что мне нужно: класс с двумя родителями, которые ContextBoundObject и другой класс. Почему: мне нужно получить доступ к ContextBoundOject регистрировать вызовы метода. Композиция работает? На данный момент нет (типы не распознаются, между прочим). Е…
20 фев '13 в 11:45
2
ответа
Ситуации, когда Манифест недоступен
def bar[T: Manifest](a: Array[T]) = Array.ofDim[T](3) class Foo bar(Array(new Foo)) //Array[Foo] = Array(null, null, null) Манифесты, по-видимому, существуют неявно для произвольных типов, как показано выше. Поскольку у нас есть привязка к контексту…
18 ноя '11 в 23:43
1
ответ
Какова была причина ограничить объединение неявных параметров и границ вида / контекста?
Один из последних коммитов в Scala master снимает ограничение на объединение границ контекста / представления с неявными параметрами. Это большое улучшение, которое уменьшает количество шаблонов, но какова была причина того, что мы сделали такое ог…
26 июл '11 в 21:30
1
ответ
Scala: границы тройного контекста, параметры доказательства не найдены
Я отредактировал это в более простой форме вопроса, на который @Zhi Yuan Wang ответил: object ContBound { def f2[A: Seq, B: Seq]: Unit = { val a1: Seq[A] = evidence$1 val b2: Seq[B] = evidence$2 } def f3[A: Seq, B: Seq, C: Seq]: Unit = { val a1: Seq…
25 авг '16 в 13:10
2
ответа
":" в параметре типа
В проекте scala-arm я вижу такой код: def managed[A : Resource : Manifest](opener : => A) : ManagedResource[A] = new DefaultManagedResource(opener) Может кто-нибудь объяснить значение [A: Resource: Manifest]?
26 сен '10 в 14:51
1
ответ
Scala вложенные параметры неявного типа
Можете ли вы объяснить тип T в этом определении метода? Это от Гатлинга. Я знаю, что двоеточие для значений, связанных с контекстом. здесь я вижу их вложенными. Что такое # за? implicit def stringToExpression[T: TypeCaster: Types[NonValidable]#DoesN…
05 авг '17 в 09:53
2
ответа
Прозрачный прокси для оригинального типа
У меня есть объект времени выполнения типа {System.Runtime.Remoting.Proxies.__TransparentProxy}, который создается из экземпляра класса, который наследуется от ContextBoundObject. Этот класс вызывает событие для какого-то другого объекта, мне нужно …
14 авг '11 в 21:44
2
ответа
Связанный контекст Scala неожиданно не работает
Я попытался определить функцию, которая будет проверять, отсортирован ли общий Seq. Я придумал это: import Ordering.Implicits._ def isOrdered[A: Ordering](seq: Seq[A]): Boolean = seq.sliding(2).map({ case List(a, b) => b > a }).forall(identity…
05 авг '13 в 12:37
2
ответа
Play Action Composition - параметризованный парсер жесткого кодирования
Я хотел бы создать пользовательское действие, которое устраняет шаблон написания таких действий: Action[MyClass](BodyParsers.parse.json[MyClass]) { req => ... Тем не менее, я продолжаю сталкиваться с ошибками определения класса. Вот моя самая усп…
18 апр '16 в 00:21
1
ответ
Scala: Как заставить работать конвертирование List[T] с привязкой к контексту?
Это мой первый вопрос, поэтому надеюсь, что я предоставлю достаточно подробностей. Не стесняйтесь просить разъяснений. Принимая во внимание следующее, который работает: implicit def optionBsonReader[T, U](implicit ev: BsonReader[T, U]) = new BsonRea…
06 сен '11 в 00:48
3
ответа
Как получить экземпляр класса типа, связанный с контекстным ограничением?
Примечание: я задаю этот вопрос, чтобы ответить на него сам, но другие ответы приветствуются. Рассмотрим следующий простой метод: def add[T](x: T, y: T)(implicit num: Numeric[T]) = num.plus(x,y) Я могу переписать это, используя контекст, связанный с…
07 дек '10 в 03:15
1
ответ
Цепочка событий / Прокси к исходному объекту
У меня есть класс, который наследуется от объекта, привязанного к контексту. У класса есть атрибут по некоторым свойствам. Когда какое-то свойство изменяется, PostProcess(IMessage msg, IMessage msgReturn) вызвать событие, и из события снова запускае…
21 июл '11 в 19:49
2
ответа
Scala контекстные границы
Используя границы контекста в Scala, вы можете делать такие вещи, как trait HasBuild[T] { def build(buildable: T): Something } object Builders { implict object IntBuilder extends HasBuild[Int] { override def build(i: Int) = ??? // Construct a Someth…
23 сен '16 в 13:06
1
ответ
Scala: иерархия классов типов и неявное разрешение
Предположим, я пытаюсь представить, скажем, область булевой логики (пока игнорируя сокращение). Так что в моем магазине будут экземпляры Bools, Ands, Ors, Nots и т. Д. Однако, хотя у меня будут конкретные представления об этих вещах, во многих случа…
30 авг '12 в 11:46