fold — все вопросы

1ответ
4 голоса
Когда использовать Foldr с продолжением в качестве функции накопления?
Есть техника, которую я видел несколько раз с foldr. Он включает использование функции вместо аккумулятора в foldr. Мне интересно, когда это необходимо сделать, а не использовать аккумулятор, которы
2ответа
4 голоса
Как работает индексированный фолд?
У меня возникли проблемы с пониманием определения: ifoldr :: Foldable f => (Int -> a -> b -> b) -> b -> f a -> b ifoldr f z xs = foldr (\ x g i -> i `seq` f i x (g (i+1)))
1ответ
4 голоса
Сворачивание последовательного потока в Java
Я привык к программированию в Scala, но мне нужно написать немного Java, и я пытаюсь выполнить эквивалент следующего фрагмента Scala: trait Options[K, V] { def add(key: K , value: V): Options[K
4ответа
4 голоса
Сопоставление с образцом и бесконечные списки
У меня проблемы с пониманием этого простого фрагмента кода: -- This works: foldr go1 [] [1..] -- This doesn't: foldr go2 [] [1..] go1 a b = a : b go2 a [] = a : [] go2 a b = a : b Скла
1ответ
4 голоса
Ускорение потока, как тип данных
Я сделал тип, который должен эмулировать «поток». Это в основном список без памяти. data Stream a = forall s. Stream (s -> Maybe (a, s)) s В основном поток имеет два элемента. Состояние s и
1ответ
4 голоса
Как сложить /накопить матричный продукт (точка)?
Используя библиотеку python numpy, можно использовать функцию cumprod для оценки совокупных продуктов, например a = np.array([1,2,3,4,2]) np.cumprod(a) дает array([ 1, 2, 6, 24, 48]) Э
1ответ
4 голоса
Снятие символов со строки в F #
Я новичок в функциональном программировании и F #, и там наверняка есть много информации о том, как это сделать (удаление определенных символов из строки) в F #, но я наткнулся на следующую функцию
1ответ
4 голоса
Два разных типа рекурсивных функций OCaml
В течение двух недель я делал несколько простых программ на OCaml. Я заметил, что когда мы работаем с рекурсивной структурой T и мы хотим получить информацию I в T затем в зависимости от информации
4ответа
4 голоса
Каков оптимальный способ сложить аргументы функции?
У меня есть функция f, которую можно вызывать с произвольными аргументами. Когда он вызывается с двумя аргументами, он выполняет операцию. Когда он вызывается с> 2 аргументами, он должен сам св
1ответ
4 голоса
Существует ли оптимизированная комбинация `span` и` foldl'` или GHC оптимизирует эту комбинацию?
Предположим, я хочу сложить все элементы списка вплоть до, но не включая первое отрицательное число, и вернуть номер и остальную часть списка. Самый простой способ сделать это - addPos l = s `seq
3ответа
4 голоса
SML /NJ - одна функция длины строки с использованием Foldr
Я пытаюсь создать функцию длины, похожую на ту, что уже включена в ML. Мои ограничения заключаются в том, что это должно быть сделано в одной строке и использовать либо map, foldl, или foldr. Сей
3ответа
4 голоса
Удалить последовательные дубликаты из бесконечного списка с помощью свертывания?
Рассмотрим одну из следующих реализаций функции для удаления последовательных дубликатов из списка:Они оба работают как положено как в конечном, так и в бесконечном списках.Чтобы быть более точным, дл
2ответа
4 голоса
Как сложить все блоки ниже определенного уровня в emacs org-mode?[Дубликат]
На этот вопрос уже есть ответ здесь:показать схему в орг-режиме до определенного уровня ответа 3Мне часто нужно видеть информацию до (вплоть до, действительно) определенного уровня детализации.Есть ли
2ответа
4 голоса
Python, рекурсивно сокращать список (комбинации /перестановки)
Я пытаюсь сделать универсальную функцию, которая бы сократила список следующим образом:Я действительно не знаю, как это сделать.Я сделал несколько попыток, но ни одна из них не увенчалась успехом.Я ув
1ответ
4 голоса
дорожки из роз
допустим, у нас есть дерево ...и это дерево имеет несколько узловследующая функция будет ---- +: = 2 =: + ---- пути в дереве.вот так:Но теперь, как мы могли ---- +: = 5 =: + ---- эти пути?Очевидно, мы
1ответ
4 голоса
Использование складок, чтобы сделать функцию более элегантной
Первоначально я представлял свою функцию как решение, в котором myTakeWhile возвращает элементы (x: xs) в виде списка, пока не достигнет элемента, аргумент функции которого равен false.После чего было
1ответ
4 голоса
Как реализовать «эффективную обобщенную складку» в F #?
В работе Martin et al.Я читал об эффективных обобщенных сгибах для типов данных nestet.В статье рассказывается о Хаскеле, и я хочу попробовать это на F #.До сих пор мне удалось следовать примеру ----
3ответа
4 голоса
Как бы я реализовал эту функцию сгиба?
Даны два типа данных: Цвет и Растение.Теперь я должен реализовать функцию ---- +: = 1 =: + ---- из следующих типов:Насколько я понимаю, функция сгиба состоит в том, что она берет список и для каждой и
2ответа
4 голоса
Flink: Как преобразовать устаревшую складку в совокупность?
Я следую примеру быстрого запуска Flink: мониторинг потока редактирования в Википедии .Пример написан на Java, и я реализую его в Scala следующим образом:Однако функция ---- +: = 1 =: + ---- во Flink
2ответа
4 голоса
Схема /Ракетка: сложить с логическими значениями
возвращает ---- +: = 1 =: + ---- это то, что я ожидаю, нодает мне ошибку---- +: = 4 =: + ---- принимает функцию (которая принимает два параметра, поскольку у меня есть один список), а также базовый сл
1 2

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132