Вопросы по теме 'higher-order-functions'

Как отфильтровать массив по условию
У меня есть такой массив: array("a" => 2, "b" => 4, "c" => 2, "d" => 5, "e" => 6, "f" => 2) Теперь я хочу отфильтровать этот массив по некоторому условию и сохранить только те элементы, где значение равно 2, и удалить все...
85728 просмотров
schedule 27.06.2022

Есть ли стандартное имя для этой функции?
Как бы вы назвали функцию, которая принимает список и функцию и возвращает True, если применение функции ко всем элементам дает одинаковый результат? def identical_results(l, func): if len(l) <= 1: return True result = func(l[0])...
309 просмотров

Плоская карта Haskell
Я новичок, интересующийся Haskell, и я пытался самостоятельно реализовать плоскую карту (>>=), чтобы лучше понять ее. В настоящее время у меня есть flatmap :: (t -> a) -> [t] -> [a] flatmap _ [] = [] flatmap f (x:xs) = f x : flatmap...
5691 просмотров

fold_tree в OCaml
Как вы, возможно, знаете, в OCaml есть функции более высокого порядка, такие как fold_left, fold_right, filter и т. Д. На моем курсе функционального программирования была введена функция с именем fold_tree, что-то вроде fold_left / right, но не для...
8142 просмотров

Веб-программирование с функциями высшего порядка
В нашем классе мы изучаем функции высшего порядка, и наш профессор упомянул, что они могут быть полезны для веб-программирования. Я не уверен, в каких случаях это будет правдой, и мне было интересно, есть ли у кого-нибудь опыт работы с функциями...
348 просмотров
schedule 04.04.2023

Почему foldl1 не может применить оператор (==)?
Из прелюдии : foldl1 : он берет первые 2 элемента списка и применяет к ним функцию, затем передает функции этот результат и третий аргумент и так далее. Почему нельзя написать что-то подобное? foldl1 (==) [6, 6, 6] foldl1 (\x y ->...
433 просмотров

Использование карты Perl с пользовательскими функциями
У меня есть Perl-скрипт, в котором (пропущено много ненужных строк) use HTML::Entities; my @keys = ('ID', 'first', 'last'); # data is not actually constant my @encodedKeys = map(encode_entities, @keys); который работает без ошибок. Но когда...
293 просмотров
schedule 25.03.2022

Гарантируется ли последовательное выполнение функций более высокого порядка для коллекций?
В другом вопросе пользователь предложил написать такой код: def list = ['a', 'b', 'c', 'd'] def i = 0; assert list.collect { [i++] } == [0, 1, 2, 3] Такой код в других языках считается плохой практикой, потому что содержимое collect изменяет...
465 просмотров

Преобразовать список в карту элементов -> список (элемент) в scala
У меня есть список документов, где у документа есть владелец, который является пользователем. Каков наиболее элегантный способ преобразования этого списка в карту пользователей к списку документов, которыми они владеют? Так, например, у меня...
260 просмотров

Программирование высшего порядка с использованием Boost::Python
Итак, у меня есть простая библиотека событий, написанная на C++ и использующая библиотеки Boost. Я хотел открыть указанную библиотеку для Python, поэтому, естественно, я обратился к Boost::Python. В конце концов, я получил код для компиляции, но...
365 просмотров

Что не так в этой функции высшего порядка?
mathOp = function(type){ return ( "add" == type? function(a,b){return a + b} :"mul" == type? function(a,b){return a * b} :"sub" == type? function(a,b){return a - b} :"div" ==...
102 просмотров
schedule 07.07.2023

Haskell: создание функции для работы со списком
Возможный дубликат: Почему такое определение функции запрещено в haskell? Я хотел бы создать функцию flist , которая принимает функцию f в качестве аргумента и возвращает другую функцию, аргументом которой будет список, но ведет себя...
256 просмотров
schedule 02.05.2022

Функции высшего порядка: автоматическая генерация против ручного определения
Я пытаюсь немного отложить оценку, поэтому предпочитаю работать с функциями как можно дольше. У меня есть class Function , который определяет композицию и поточечную арифметику для функций: from functools import reduce def compose(*funcs):...
395 просмотров

Функция приложения функции в Haskell
Допустим, у меня есть список функций functions = [f, g, h] каждый с типом a -> a У меня также есть список значений, скажем, чисел, но здесь все должно работать. vals = [1,2,3] Я хочу применить каждую функцию в functions к...
437 просмотров
schedule 13.01.2024

Почему запятая не нужна между аргументами для отображения?
Почему следующее справедливо? my @ys = map { $_ * $_ } @xs; А следующие недействительны? my @ys = map { $_ * $_ }, @xs; Является ли map языковой конструкцией, а не функцией, или существуют специальные правила для блоков?
463 просмотров
schedule 03.04.2023

Применить функцию несколько раз в Haskell
Изучайте Haskell во благо (раздел «Функции высшего порядка», подраздел "Некоторый высший порядок в порядке" ) описывает пример функции applyTwice , которая дважды вызывает функцию для аргумента: applyTwice :: (a -> a) -> a -> a...
6711 просмотров
schedule 10.04.2022

Невозможно вызвать встроенную функцию VBA с Application.Run
В VBA определенная пользователем подпрограмма или функция может быть вызвана с использованием метода Application.Run , например: Application.Run "macroName", arg1 ', ... что позволяет грубо моделировать делегатов в VBA. Однако встроенные...
835 просмотров
schedule 18.02.2023

Как написать эту функцию идиоматически?
Я ищу функцию, которая проверяет предикат для элементов списка, создает новый список для каждого элемента, который удовлетворяет предикату, и применяет функцию только к этому элементу. Пример: someFunction :: (a -> Bool) -> (a -> a)...
351 просмотров

Именованные параметры vs _, точечная запись vs инфиксная операция, фигурные vs круглые скобки при использовании функций высшего порядка в Scala
Мне очень трудно понять, когда я могу или не могу опускать скобки и/или точки, и как это взаимодействует с _. Конкретный случай, который у меня был с этим, был val x: X = ??? val xss: List[List[X]] = ??? xss map x :: _ //this doesn't compile...
229 просмотров

Обратные вызовы и функции высшего порядка Javascript
Это проблема из главы 5 Eloquent JS http://eloquentjavascript.net/05_higher_order.html . function noisy(f) { return function(arg) { console.log("calling with", arg); var val = f(arg); console.log("called with", arg, "- got",...
1202 просмотров