Описание тега higher-order-functions

Функции высшего порядка - это функции, которые либо принимают функции как аргументы, либо возвращают их как выходные данные (или и то, и другое). Они являются краеугольным камнем функционального программирования.
4 ответа

Как исправить эту ошибку ESlint (no-param-reassign) в моем фильтре

Я пытаюсь найти только пользователей, у которых есть определенный сервис. У каждого пользователя есть массив Сервисов. И матч, который мне нужно найти, следующий: userService.name === service.name && !user.disabled Код ниже работает, но есть…
2 ответа

Границы признаков замыкания в переменных типа по сравнению с границами признаков замыкания в аргументах функций высшего порядка

Почему эти 2 работы: fn apply_once1<F: FnOnce(T1) -> T2, T1, T2> (f: F, x: T1) -> T2 { f(x) } fn apply_once2<F, T1, T2> (f: F, x: T1) -> T2 where F: FnOnce(T1) -> T2 { f(x) } Но этот не компилируется: fn apply_once3<T1, T2…
30 мар '16 в 06:09
3 ответа

Передача переменных в функции высшего порядка

Я подписан на http://eloquentjavascript.net/05_higher_order.html. У меня есть следующий кусок кода function findEven(number, body) { for(var i = 0; i < number; i++) body(i) } function unless(test, then) { if(!test) then(); } findEven(10, function…
4 ответа

Swift 4 - Фильтрация массива с помощью массива

У меня есть список записей с идентификатором, и я хочу отфильтровать их до записей с идентификатором entry.id, соответствующим одному из идентификаторов в selectedID. Есть ли способ сделать это с помощью фильтра или я должен использовать цикл for? s…
15 окт '18 в 06:53
2 ответа

Как работает ключевой аргумент для сортировки?

Код 1: >>> sorted("This is a test string from Andrew".split(), key=str.lower) ['a', 'Andrew', 'from', 'is', 'string', 'test', 'This'] Код 2: >>> student_tuples = [ ... ('john', 'A', 15), ... ('jane', 'B', 12), ... ('dave', 'B', 10)…
1 ответ

Функция, возвращающая наиболее определенный тип

Я хотел бы иметь функцию высшего порядка Function[K=>V, K=>V] который принимает функцию K=>V и возвращает тип данной функции. Например, я хотел бы иметь следующее поведение: class Foo[K, V]() { def apply[K1 <: K, V1 <: V](f: K1 => …
0 ответов

С ++ накапливается как с агрегированным, так и с исходным

У меня был случай, когда я хочу накопить sum переменная во время итерации по массиву и выполнения двоичной операции на каждых двух соседях. accumulate ака reduce приходит на ум. Но я ловлю себя на том, что пишу это int sum = 0; auto result = // this…
08 дек '17 в 20:05
0 ответов

Как я могу отфильтровать матрицу N*N, которая представлена ​​в виде карты (N,N) по строке, столбцу, диагонали и анти-диагонали в scala?

Мне интересно, как я могу использовать встроенные методы для Maps/lists/etc... в Scala, чтобы получить строки, столбцы, диагональ и анти-диагональ N N матрицы в Scala? Предположим, что у вас есть N N матрица, представленная на карте, где каждая запи…
05 мар '18 в 02:46
1 ответ

Не могу вызвать встроенную функцию VBA с Application.Run

В VBA пользовательская подпрограмма или функция может быть вызвана с помощью Application.Run метод, как так Application.Run "macroName", arg1 ', ... допускает грубое моделирование делегатов в VBA. Однако встроенные функции VBA нельзя вызывать одинак…
19 авг '14 в 15:03
3 ответа

Тип функциональной переменной в Go

Я хочу написать функцию, которая принимает указатель на функцию любого типа. Я мог бы сделать: func myFunc(f interface{}) ... но это позволило бы нефункциональные значения. Есть ли способ, которым я могу ограничить тип для любой функции?
1 ответ

Получить ввод функции высшего порядка в Python

Допустим, у меня есть HOF def some_func(lst): def func(args): if args[0]=='compute': return sum(lst) elif args[0]=='add': XXXXX #Return a new HOF with the 2 sub HOF input parameters added together. return func x1=some_func([1,2,3]) x2=some_func([2,3…
1 ответ

Scala / Lists - любой способ обратиться к текущему отфильтрованному списку, чтобы получить размер текущего (не размер оригинала)

case class Book(title: String, authors: List[String], year: Int) val books: List[Book] = List( Book("Structure and Interpretation of Computer Programs", List("Abelson, Harold", "Sussman, Gerald J."), 1984), Book("Principles of Compiler Design", List…
30 дек '16 в 16:52
1 ответ

Функция высшего порядка с аргументом fn против вызова метода одноэлементного объекта

Я пытаюсь удалить дубликаты кода, используя функции высшего порядка. Чем это отличается от вызова метода Singleton Object? Образец кода: filterDFForPaymentType(filterDF, df, "Manual") filterDFForPaymentType(filterDF, df, "Electronic") def filterDFFo…
3 ответа

Обратный вызов также известен как функция высшего порядка?

Я пытаюсь понять функции обратного вызова и функции более высокого порядка, но есть описание из поста в блоге, " Поймите функции обратного вызова JavaScript и используйте их", которое меня смущает, подразумевается, что они одно и то же: Функция обра…
1 ответ

JS - вызов объекта по одному из его свойств

Я создаю новый объект, чтобы я мог связать одно из свойств с самим объектом: var byVert = {}; verticesClosest3.forEach(function (x){ byVert[x.vertix] = x; }); Первый объект в byVert соответствует первому объекту verticesClosest3 как и следовало ожид…
11 июн '15 в 13:07
1 ответ

Переменная функции высшего порядка javascript undefined

У меня есть этот массив объектов, и я хочу, чтобы уникальные элементы получили определенный ключ. Массив выглядит так: var items = [ {name: "item1", year : 2013, value : 100}, {name: "item1", year : 2012, value : 97}, {name: "item3", year : 2013, va…
1 ответ

Scala: функция высшего порядка для возврата объединения множеств

Я работаю над следующей функцией Scala высшего порядка: def after(M: Set[Expression], n: String): Set[Set[Expression]] = { M.map((expr: Expression) => aft(expr,n)) } Функция на корме имеет следующую подпись: def aft(m: Expression, n: String): Set…
2 ответа

Изменить элемент (ы) в списке, где условие выполняется

case class Person(name: String, age: Int, qualified: Boolean = false) val people: List[Person] = .... val updated: List[Person] = people.map(person => if (person.age >= 25) person.copy(qualified=true) else person // unmodified )) // Setting ev…
1 ответ

Использование компонента React высшего порядка - специально реагирует на сортировку

У меня возникли проблемы с пониманием самой основной части этого HOC, которая имеет хорошую тягу к NPM, поэтому я предполагаю, что здесь есть простой ответ: Куда идут мои ранее существующие компоненты в примере, который он дает на NPM. Является {val…
1 ответ

Как документировать javascript функцию высшего порядка?

У меня есть следующая функция более высокого порядка для обертывания конструкторов: /** * Wrapper for calling constructor with given parameters * * @param {Class} Cls * @returns {function} Wrapper on constructor which creates an instance of given Cl…