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

Есть ли у этой функции более высокого порядка имя?
Я вижу этот паттерн повсюду в своем коде и в библиотеках, но, кажется, нигде не могу найти его имени или абстракции. Пример (псевдокод) T foo( T x, void f(T&) ) { T y = x; f( y ); return y; } В основном: возьмите значение и...
162 просмотров

Обратное каррирование?
Я хотел бы составить функции определенным образом. Пожалуйста, рассмотрите эти 2 функции в псевдокоде (не F#) F1 = x + y F2 = F1 * 10 // note I did not specify arguments for F1, 'reverse curry' for lack of a better word Я бы хотел, чтобы F#...
2285 просмотров

Как сделать дополнение в списке с условием?
У меня есть университетский курс по функциональному программированию, где я использую SML. В качестве подготовки к экзамену я работаю над некоторыми из старых наборов экзаменов без решений. Один из немногих вопросов, с которым у меня действительно...
10574 просмотров

Полиморфизм строк в Haskell: проблемы с написанием Forth DSL с преобразованиями
Недавняя активность в блоге Haskell 1 вдохновила меня попробовать свои силы в написании Forth-подобного DSL на Haskell. Подход, который я выбрал, одновременно прост и запутан: {-# LANGUAGE TypeOperators, RankNTypes, ImpredicativeTypes #-} -- a...
1134 просмотров

Объединение элементов в список в анонимной функции в Haskell
Я новичок в Haskell и не могу найти причину, по которой я не могу это скомпилировать: test = foldr (\x y -> y : x) [1] Я не пытаюсь добиться чего-либо функционально для фиктивной функции «тест». Просто я продолжаю получать этот код...
667 просмотров

Проверка, является ли результат фильтра пустым списком
нас попросили написать функцию, чтобы увидеть, является ли результат примененной функции фильтра пустым списком. Я пробовал следующий подход, но он дает мне упомянутую ошибку. isListEmpty ::((a -> Bool) -> [a] -> [a]) -> Bool...
764 просмотров
schedule 05.09.2023

Функция Haskell — самая большая
Итак, я должен написать функцию с именем Largest в Haskell, которая находит самый большой элемент списка, но реализуется с использованием функций высокого порядка. Я новичок в Haskell, так что это моя попытка, которая не работает. largest ::...
5232 просмотров
schedule 29.02.2024

Как я могу расчленить и обрезать пробелы?
Например, я хотел бы создать массив из элементов в этой строке: $str = 'red, green, blue ,orange'; Я знаю, что их можно взорвать, перебрать и обрезать: $arr = explode(',', $str); foreach ($arr as $value) { $new_arr[] =...
95389 просмотров
schedule 20.05.2022

Код работает в оболочке, но не как скрипт — MissingPropertyException
Я изучаю Groovy и наткнулся на это любопытное поведение. Выполнение следующего кода в groovysh работает без проблем, но сохранение его как foo.groovy и запуск через groovy foo.groovy приводит к MissingPropertyException: No such property: a for...
89 просмотров
schedule 26.07.2023

Как получить доступ к параметру функции высшего порядка в scala
Я действительно новичок в Scala и пытаюсь его изучить. Я не знаю, как получить доступ или использовать параметр функции более высокого порядка. Например: def higherOrderFunc(f: Int => Boolean): String = { /* Logic to print parameter is...
79 просмотров
schedule 24.02.2024

Haskell: фильтрация на основе индексного вектора с использованием только основных функций высшего порядка.
Проблема У меня есть вектор a размера N , содержащий выборочные данные, и другой вектор b размера M ( N>M ), содержащих индексы. Я хочу получить вектор c размера N , содержащий отфильтрованные элементы из a на основе индексов...
555 просмотров
schedule 10.07.2023

Выражение параметрического полиморфизма и функций высшего порядка в диаграмме классов UML
Можно ли выразить параметрический полиморфизм (общие типы в C#) или функции более высокого порядка в диаграммах классов UML? Если да, то как это делается? Если нет, существуют ли другие типы диаграмм, более подходящие для описания программных...
259 просмотров

Являются ли рекурсивные функции частным случаем функций более высокого порядка
Википедия утверждает: В математике и информатике функцией высшего порядка (также функциональной формой, функционалом или функтором) называется функция, которая выполняет хотя бы одно из следующих действий: принимает одну или...
1205 просмотров

Хвостовая рекурсивная функция (проблемы с Coursera)
Я слежу за курсом функционального программирования на Scala на Coursera, чтобы выучить язык. Они ввели понятие хвостовых рекурсивных функций и определили их в основном как функцию, которая заканчивается вызовом самой себя. Но затем они показывают...
257 просмотров

Схема функций высшего порядка - Калькулятор среднего балла
Я пытаюсь написать калькулятор GPA на языке схемы. Единственная часть, с которой, как мне кажется, у меня проблемы, - это часть, в которой мне нужно преобразовать буквы в целые числа в списке. Я использую eq? в приведенном ниже коде, потому что в...
342 просмотров

Как эта штука с функциями высшего порядка работает в Javascript
В книге Eloquent Javascript Марина Хавербеке есть этот пример введение понятия функций высшего порядка: function greaterThan(n) { return function(m) { return m > n; }; } var greaterThan10 = greaterThan(10);...
509 просмотров

Непонятно объяснение исключения Checked в функциональном программировании на Scala.
В книге «Функциональное программирование на Scala» есть несколько слов о проверенном исключении: Проверенные исключения Проверенные исключения в Java, по крайней мере, вынуждают принять решение о том, следует ли обрабатывать или повторно...
175 просмотров

Javascript _.map() против array.map(); почему один работает здесь, а другой нет?
Почему функция reverse2 с использованием _.map() работает, а arr.map() в этой ситуации не работает? Есть ли проблема с синтаксисом? Я не смог понять это. function reverse2(arr){ return _.map(arr, function(val,index, arr1){return...
4596 просмотров

Можем ли мы передать функцию в качестве аргумента
Я использую R для построения математической модели. Я хочу написать функцию f(a, b, g) , которая принимает 3 аргумента, а последний — функцию. Я хочу знать, могу ли я передать функцию в качестве аргумента другой функции? Если это возможно, можете...
2773 просмотров
schedule 13.01.2023

Вернуть максимальное число в каждом массиве, используя карту
function each(coll, f) { if (Array.isArray(coll)) { for (var i = 0; i < coll.length; i++) { f(coll[i], i); } } else { for (var key in coll) { f(coll[key], key); } } } function map(array, f) { var acc = [];...
290 просмотров