Описание тега partialfunction
Questions about the Scala's PartialFunction type. For questions about the broader concept of partial functions (i.e. functions not defined for all of their inputs), use [partial-functions]. For questions about partially applied functions, use [partial-application].
2
ответа
Scala PartialFunctions от конкретных
Есть ли быстрый способ использовать в качестве конкретной функции (типа, скажем, (A) => B) как PartialFunction[A, B]? Самый краткий синтаксис, который я знаю: (a: A) => a match { case obj => func(obj) } Есть ли неявное преобразование где-ни…
26 июл '11 в 17:24
1
ответ
Scala: собирать с помощью дженериков
Учитывая следующий сценарий val items = List("a", "b", "c", 1, 2, 3, false, true) def intItems = items.collect {case i : Int => i} def stringItems = items.collect {case s : String => s} Есть ли способ создать универсальную функцию для обработк…
28 июн '17 в 08:31
3
ответа
Как преобразовать X => Option[R] в PartialFunction[X,R]
Пока у нас есть PartialFunction[X,R] очень легко преобразовать его в функцию, возвращающую Option[R]например, def pfToOptf[X, R](f: PartialFunction[X,R])(x: X) = if (f.isDefinedAt(x)) Some(f(x)) else None Однако, что если задача противоположна: пред…
15 дек '09 в 15:41
1
ответ
Есть ли что-то вроде Map.keySet для частичной функции в Scala?
Конкретнее у меня есть: case class Key (key: String) abstract class abstr { type MethodMap = PartialFunction[Key, String => Unit] def myMap: MethodMap // abstract def useIt (key: Key, value: String) = { val meth = myMap(key) meth(value) } def rep…
05 дек '15 в 10:11
2
ответа
Расширение частично реализованной частичной функции в Scala
Я использую библиотеку актеров Akka здесь. Библиотека акторов определяет частичную функцию "получать", которую должен реализовать актер, расширяющий "актер", чтобы иметь дело с различными сообщениями. Я создаю иерархию признаков для моего приложения…
09 янв '13 в 14:26
1
ответ
Частичное применение функции Scala
Я пытаюсь понять, как функция частичного приложения работает в Scala. Для этого я построил этот простой код: object Test extends App { myCustomConcat("General", "Public", "License") foreach print GeneralPublicLicenceAcronym(myCustomConcat(_)) foreac…
18 июн '15 в 17:46
3
ответа
Понятие Скалы о "частичных функциях" и методе ".orElse" в F#
В Scala есть понятие "частичной функции", которая довольно похожа на то, что F# function Ключевое слово позволяет мне достичь. Однако частичные функции Scala также позволяют составлять через orElse метод, как показано ниже: def intMatcher: PartialFu…
17 дек '18 в 15:17
2
ответа
F# - Как удобно применять элементы в списке к параметрам частичной функции?
Предполагается, что есть список: let lst = [1;2;3] И частичная функция: let addAll a b c = a + b + c Как можно удобно ввести параметры для частичной функции, используя элементы в списке lst? Один из способов сделать это: addAll (lst |> List.item …
01 дек '18 в 22:22
3
ответа
Использование кортежей в map, flatmap,... частичных функциях
Если я сделаю: val l = Seq(("un", ""), ("deux", "hehe"), ("trois", "lol")) l map { t => t._1 + t._2 } Все нормально. Если я сделаю: val l = Seq(("un", ""), ("deux", "hehe"), ("trois", "lol")) l map { case (b, n) => b + n } Это тоже нормально. …
08 апр '14 в 17:44
2
ответа
Определение типа частичной функции Scala
val even: PartialFunction[Int, String] = PartialFunction[Int, String] { case i if i % 2 == 0 => i + " is even" } val isEven: PartialFunction[Int, String] = { case i if i % 2 == 0 => i + " is even" } val odd: PartialFunction[Int, String] = Part…
03 май '18 в 03:13
2
ответа
Как работает метод isDefinedAt при использовании операторов case?
В этом объяснении частичных функций в scala оператор case используется следующим образом: val divide2: PartialFunction[Int, Int] = { case d: Int if d != 0 => 42 / d } Тогда это говорит: Хотя этот код явно не реализует метод isDefinedAt, он работа…
23 сен '15 в 11:13
1
ответ
Применение частичной функции в Scala
Я изучаю функциональное программирование, следуя книге Пола Кьюзано и Рунара Бьярнасона " Функциональное программирование в Scala ". Я специально посвящен главе 3, где я реализую некоторые сопутствующие функции для класса, представляющего односвязны…
22 авг '16 в 07:51
3
ответа
Чередование частичных функций с andThen в Scala
Давайте использовать примеры из Daily Scala: type PF = PartialFunction[Int,Int] val pf1 : PF = {case 1 => 2} val pf2 : PF = {case 2 => 3} и давайте добавим: val pf3 : PF = {case 3 => 4} и тогда работает как положено здесь: pf1 andThen pf2 i…
10 янв '14 в 10:18
1
ответ
Scala, применяющая PartialFunction с (), отличается от.apply()
Я пытаюсь реорганизовать свой Scala-код в проекте (Play Framework 2.4), когда я пришел с этой идеей: (Чтобы обеспечить минимальный рабочий пример, я изменил некоторые классы, например, я изменил Result и Future[Result] с Int и Option[Int] соответств…
31 авг '15 в 10:44
4
ответа
Как именно "case" работает в частичных функциях в Scala?
Я только начинаю свою, казалось бы, крутую кривую обучения со Scala и не совсем понимаю, как именно "кейс" работает в частичных функциях. Я посмотрел на определение самой PartialFunction, и там я вижу пример, подобный следующему: val isEven: Partial…
24 ноя '13 в 06:09
1
ответ
Добавление новых аргументов в частичную функцию
Есть ли какой-нибудь простой способ, как добавить новые аргументы в частичную функцию, чтобы результирующая функция была определена в той же области, что и раньше (новые аргументы не влияют на ее пристрастность)? Следующий код работает, но кажется н…
16 фев '15 в 19:34
1
ответ
Scala: параметр типа коллекции выдерживает "сбор", когда параметр типа является типом элемента
Обычно при сборе всех элементов последовательности, которые соответствуют определенному типу, результирующая коллекция имеет как тип исходной коллекции, так и тип, выбранный для: trait Foo trait Bar trait Baz { // Works def def1(foo: Seq[Foo]): Seq[…
27 июн '12 в 14:42
2
ответа
В терминах функционального программирования, что вы называете чем-то с помощью orElse или другого резервного метода?
Используя scala для справки, мы видим запасное поведение (orElse) в нескольких местах, таких как PartialFunction, Option и кошек EitherOps, Это похоже на уплощение монады, но не то же самое. Есть ли функциональный термин программирования для вещей, …
04 ноя '18 в 22:59
1
ответ
Передача неявного параметра в Future.recover
Я хочу передать неявный параметр частичной функции, которую я использую для recover мой Futures. def delete(id: Long) = ... { implicit something => serviceLayer.doSomething(id).recover(errorHandler) } def errorHandler: PartialFunction[Throwable, …
06 май '16 в 02:32
5
ответов
Скала, частичные функции
Есть ли способ создать PartialFunction кроме как через case заявление? Мне любопытно, потому что я хотел бы выразить следующее (scala псевдо вперед!)... val bi = BigInt(_) if (bi.isValidInt) bi.intValue ... как частичная функция, и делать val toInt …
14 апр '11 в 18:44