Описание тега partial-functions
Частичные функции - это функции, которые не определены для всех своих входов. Для вопросов о частично применяемых функциях используйте вместо этого [partial-application].
1
ответ
Как использовать макросы Scala для создания новых частичных функций или их преобразования?
У меня возникают проблемы при написании макроса, который преобразует данную частичную функцию и создает новую частичную функцию. Например, я хочу иметь возможность разложить данную частичную функцию на ее элементы - механизм связывания, условие охра…
08 янв '17 в 23:24
1
ответ
Как сопоставление с образцом Scala Cons определяет начало и конец списка?
Как определяется голова и хвост в следующем утверждении: val head::tail = List(1,2,3,4); //head: 1 tail: List(2,3,4) Не должно быть некоторого фрагмента кода, который извлекает первый элемент как заголовок и возвращает хвост как новый список. Я прос…
20 сен '14 в 02:41
2
ответа
F# - Как удобно применять элементы в списке к параметрам частичной функции?
Предполагается, что есть список: let lst = [1;2;3] И частичная функция: let addAll a b c = a + b + c Как можно удобно ввести параметры для частичной функции, используя элементы в списке lst? Один из способов сделать это: addAll (lst |> List.item …
01 дек '18 в 22:22
1
ответ
Могу ли я применить аргументы по умолчанию при использовании частичных функций в Scala
Я определил две частичные функции (хэши), которые я ожидаю принять необязательный второй логический параметр: def SHA1 = hash(MessageDigest.getInstance("SHA-1"))_ def MD5 = hash(MessageDigest.getInstance("MD5"))_ private def hash(algorithm:HashAlgor…
21 апр '14 в 21:02
1
ответ
Идрис: функция работает с параметром Nat и не проходит проверку типа с параметром Integer
Я новичок в Идрисе. Я экспериментирую с типами, и моя задача - создать "лук": функцию, которая принимает два аргумента: число и все остальное и помещает все в List вложенное такое количество раз. Например, результат для mkOnion 3 "Hello World" должн…
27 май '16 в 09:13
2
ответа
Почему взять общую функцию
take (-1) [] является [], Каковы причины, чтобы предпочесть это частичной функции, то есть ошибке? Есть ли случаи использования, когда это свойство используется?
27 ноя '14 в 17:26
1
ответ
Как получить другой вариант в Scala
Давайте предположим, что у нас есть вариант foo1 и вариант foo2: val foo1: Option[Foo] val foo2: Option[Foo] Есть ли оператор / функция, которая позволяет мне возвращать значение foo2 когда foo1 является None? val finalFoo: Option[Foo] = foo1.getOrE…
19 ноя '18 в 22:09
2
ответа
Как работает экстрактор, когда функция `unapply` возвращает Boolean вместо Option?
Я узнал об экстракторах из книги на лестнице: object Twice { def apply(x: Int) = x * 2 def unapply(x: Int) = if(x % 2 == 0) Some(x / 2) else None } // outside pattern mathcing, Twice.apply(21) is called val x = Twice(21) x match { // inside pattern …
10 янв '16 в 20:55
2
ответа
Объединение частичных функций
Я пришел из Java и хотел бы объединить две частичные функции, как это: def sum(a: Int, b: Int, c: Int) : Int = a + b + c Я хочу написать что-то вроде этого: val l = List(1, 2, 3) l.foreach(println _ sum (1, _ : Int, 3) ) // It's supposed to apply //…
18 авг '16 в 16:44
5
ответов
Полная функция Скалы как частичная функция
Так как функция итога - это особый случай частичной функции, я думаю, что я смогу вернуть функцию, когда мне понадобится частичная функция. Например, def partial : PartialFunction[Any,Any] = any => any Конечно, этот синтаксис не компилируется. У …
02 янв '14 в 20:08
1
ответ
Приложение с частичной функцией с генериками
Я работаю с Observer API ( ObserverSet), который имеет следующую функцию: public func add<T: AnyObject>(object: T, _ f: T -> Parameters -> Void) -> ObserverSetEntry<Parameters> Это просто зарегистрировать object затем вызовите м…
05 фев '15 в 20:36
1
ответ
Применение частичных функций там, где они определены, и другой функции, где нет
Это мотивационный пример, учитывая: List((1,2), (2,1), (3,1)) Я хотел бы вернуться: List((1,2),(3,1)) Я пытался сделать это несколькими способами. Первый: List((1,2), (2,1), (3,1)) map { case (a,b) => if (a > b) (a,b) else (b,a) } distinct Зат…
09 дек '14 в 17:10
0
ответов
Частичная анонимная функция в раннем инициализаторе требует "преждевременного доступа к классу"
Почему это не скомпилировать: trait Item trait StringItem extends Item { def makeString: String } trait SomeOtherItem extends Item trait DummyTrait case class Marquee(items: Seq[Item]) extends { val strings: Seq[String] = items.collect { case si: St…
15 дек '14 в 22:24
1
ответ
Почему эта функция вешает REPL?
В главе 9 " Разработка через тестирование с помощью Idris" представлен следующий тип данных и removeElem функция. import Data.Vect data MyElem : a -> Vect k a -> Type where MyHere : MyElem x (x :: xs) MyThere : (later : MyElem x xs) -> MyEl…
21 июн '17 в 00:26
6
ответов
Связующие аргументы Python
Как я могу связать аргументы с методом Python для хранения нулевого функтора для последующего вызова? Похож на С ++ boost::bind, Например: def add(x, y): return x + y add_5 = magic_function(add, 5) assert add_5(3) == 8
10 ноя '08 в 14:01
2
ответа
Как принять постоянное целое число в качестве входных данных в частичной функции?
Я новичок в Scala, у меня есть случай использования, где я хочу определить частичную функцию, чтобы добавить три числа, в которых одно число является константой, и два числа могут быть переданы в качестве входных данных, и определить другой метод, к…
18 дек '17 в 05:38
1
ответ
Как создать трассировку стека при делении на ноль с помощью ghc 7.10.3?
Если программа запускается и выдает сообщение "Разделить на ноль", каков наилучший способ определить, где в коде была сгенерирована эта ошибка?
08 авг '17 в 23:40
5
ответов
Как узнать, когда использовать PartialFunction vs return Option
В качестве примера, мы определяем функцию, которая должна преобразовывать 1, 3, 42 соответственно в "foo", "bar", "qix" и все другие целые числа в "X". Я придумал 2 реализации: метод f должны быть отделены друг от друга, потому что они могут быть по…
29 сен '14 в 07:47
2
ответа
В чем разница между читательской монадой и частичной функцией в Clojure?
Леонардо Борхес подготовил фантастическую презентацию " Монады в Clojure". В ней он описывает читательскую монаду в Clojure, используя следующий код: ;; Reader Monad (def reader-m {:return (fn [a] (fn [_] a)) :bind (fn [m k] (fn [r] ((k (m r)) r)))…
08 мар '14 в 02:13
3
ответа
Частичные функции Скалы в Хаскеле
Scala имеет очень хорошую поддержку частичных функций, главным образом потому, что в Scala, когда вы определяете частичную функцию, она также определяет isDefinedAt функция для этого. А также Скала orElse а также andThen функции для работы с частичн…
13 июн '18 в 20:50