Публикации по теме 'fold'
Уменьшение `reduce`
Используйте самые простые инструменты для более простого и удобного в сопровождении кода.
Когда я рецензирую код, мне нравится внимательно изучать любое использование reduce . Напоминаем, что reduce (или fold , или catamorphism , если вы очень любите) позволяет вам взять повторяемый объект, например массив, и создать из него некоторые другие данные.
Если вы не видели его раньше, вот документация JavaScript MDN для него.
Заманчиво воспользоваться самым мощным инструментом из..
Вопросы по теме 'fold'
Заставить одну функцию работать со списками, ByteStrings и Texts (и, возможно, с другими подобными представлениями)
Я пишу функцию, которая выполняет поиск в последовательности произвольных символов. Я хотел бы сделать его достаточно общим, чтобы он работал со списками, Foldable , а также с ByteString и Text . Обобщить его до Foldable просто. Но как...
633 просмотров
schedule
04.01.2024
Каррирование функций Erlang
Я пытаюсь переделать все свои домашние задачи на Haskell, используя Erlang, и одна вещь, которая меня заводит, это то, как использовать список функций, которые не имеют всех своих параметров.
Пример: я пытаюсь использовать этот фолд, но не знаю,...
2720 просмотров
schedule
07.04.2024
Как определить карту с помощью foldr?
Я недавно начал изучать Haskell, и в одном из моих заданий у меня есть упражнение, которое просит определить функцию карты в терминах foldr, и я не могу, хоть убей, понять, как это сделать. Я искал решения по переполнению стека и наткнулся на это:...
958 просмотров
schedule
29.02.2024
Реализация последнего с помощью foldr1
У меня проблема с реализацией последней функции с помощью foldr1. Я предполагаю, что он берет самый правый элемент и обрабатывает его как значение аккумулятора, а затем применяет двоичную функцию к аккумулятору и его соседу, пока не достигнет начала...
192 просмотров
schedule
25.11.2023
Разница между reduce и foldLeft / fold в функциональном программировании (особенно в API Scala и Scala)?
Почему в Scala и таких фреймворках, как Spark и Scalding, есть и reduce , и foldLeft ? Так в чем же разница между reduce и fold ?
28921 просмотров
schedule
09.12.2023
Соберите несколько значений в разных списках кортежа с помощью fold erlang
Мне нужно повторить последовательность, имеющую элементы в списке, например Sequence = ["1","2","4","5"] . Необходимо подготовить 9 списков, которые можно рассчитать только из Sequence . У меня есть следующая папка.
Accumulators = {[], [], [],...
521 просмотров
schedule
17.05.2024
Почему Haskell не принимает мое комбинаторное определение zip?
Это функция zip учебника:
zip :: [a] -> [a] -> [(a,a)]
zip [] _ = []
zip _ [] = []
zip (x:xs) (y:ys) = (x,y) : zip xs ys
Ранее я спрашивал на #haskell, может ли «zip» быть реализован с использованием только «foldr», без рекурсии, без...
482 просмотров
schedule
22.12.2023
Как реализовать «эффективную обобщенную кратность» в F#?
В документе Мартина и др. я прочитал об эффективных обобщенных свертках для вложенных типов данных. В статье говорится о Haskell, и я хочу попробовать его на F#.
Пока мне удалось следовать примеру Nest , включая реализацию gfold .
type...
195 просмотров
schedule
01.11.2023
foldr - добавление заархивированных элементов двух списков
Мне трудно понять функциональность foldr. Я делаю домашнюю работу, и мы должны построить функцию (не нужна папка), которая сжимает элементы двух списков (например, '(1 2 3) (4 5 6) -> (1 4) (2 5) (3 6).
До сих пор это работало довольно хорошо:...
436 просмотров
schedule
10.12.2023
Использование выражения fold для создания тривиального объекта
Я пытаюсь создать объект, используя выражения std::apply и fold. Из того, что я могу сказать, читая документацию в Интернете, сложение запятой должно работать. Вот пример для пояснения.
struct my_pair final {
float x;
float y;
};...
552 просмотров
schedule
23.05.2024
Как использовать fold для сложной функции в ocaml
Как следует из названия, я хочу использовать fold. Если я правильно понимаю, раньше он применял функцию к каждому элементу в списке. Это то, что я хочу сделать со своей функцией, но я не знаю, как ее отформатировать.
Вот функция, которую я хочу...
320 просмотров
schedule
22.03.2024
Apache Spark сокращает функцию вызова действия чаще, чем ожидалось
Я создал RDD следующим образом:
JavaRDD<Integer> rdd = sc.parallelize(Arrays.asList(2, 3, 4));
И этот класс Function2
public class FoldFunction implements Function2<Integer, Integer, Integer> {
@Override
public...
9 просмотров
schedule
04.04.2024
Стандартная функция ML Foldl/Foldr с оператором умножения?
Как правильно использовать оператор умножения для Standard ML (SMLNJ) для функций foldr и foldl?
Использование foldr (op *) 1 [1,2,3]; дает ошибку
Standard ML of New Jersey v110.78 [построено: четверг, 31 августа, 03:45:42 2017]
stdIn:1.12...
18 просмотров
schedule
17.11.2023
Превратите список в список списков с помощью fold в haskell
У меня есть этот код:
fromList :: Int -> [Int] -> [[Int]]
fromList y = takeWhile (not.null) . map (take y) . iterate (drop y)
Пример того, что это делает: -> fromList 4 [1..19]...
309 просмотров
schedule
14.03.2024
Схема рекурсии, допускающая зависимости между рекурсивными вызовами (упорядоченный катаморфизм?)
Меня интересует способ более высокого порядка (схема рекурсии) для написания рекурсивного кода, в котором могут быть зависимости между рекурсивными вызовами.
В качестве упрощенного примера рассмотрим функцию, которая проходит по дереву целых чисел,...
96 просмотров
schedule
16.03.2024