Вопросы с тегом «functional-programming»

Функциональное программирование - это парадигма программирования, основанная на построении абстракций с использованием функций, избегая побочных эффектов и изменения состояния. Чистое функциональное программирование является поточно-ориентированным.

9
Есть ли в Java SE 8 пары или кортежи?
Я играю с ленивыми функциональными операциями в Java SE 8, и я хочу mapиндексировать iпару / кортеж (i, value[i]), затем filterна основе второго value[i]элемента и, наконец, выводить только индексы. Должен ли я все еще страдать так: Что эквивалентно паре C ++ <L, R> в Java? в смелую новую эпоху лямбд …

7
Как частично функция functools делает то, что делает?
Я не могу понять, как работает частичное в functools. У меня есть следующий код отсюда : >>> sum = lambda x, y : x + y >>> sum(1, 2) 3 >>> incr = lambda y : sum(1, y) >>> incr(2) 3 >>> def sum2(x, y): return x + y >>> …

8
Почему побочные эффекты смоделированы как монады в Haskell?
Кто-нибудь может дать несколько советов о том, почему нечистые вычисления в Хаскеле моделируются как монады? Я имею в виду, что монада - это просто интерфейс с 4 операциями, так что же было причиной для моделирования побочных эффектов в ней?

6
Сгруппировать, считая в Java 8 stream API
Я пытаюсь найти простой способ в Java 8 stream API, чтобы сделать группировку, я вышел с этим сложным способом! List<String> list = new ArrayList<>(); list.add("Hello"); list.add("Hello"); list.add("World"); Map<String, List<String>> collect = list.stream().collect( Collectors.groupingBy(o -> o)); System.out.println(collect); List<String[]> collect2 = collect .entrySet() .stream() .map(e -> new String[] { e.getKey(), String.valueOf(e.getValue().size()) }) …



9
В чем разница между функциональным и императивным языками программирования?
Большинство основных языков, включая языки объектно-ориентированного программирования (ООП), такие как C #, Visual Basic, C ++ и Java, были разработаны, чтобы в первую очередь поддерживать императивное (процедурное) программирование, тогда как языки, подобные Haskell / gofer, являются чисто функциональными. Кто-нибудь может уточнить, в чем разница между этими двумя способами программирования? Я …

23
Как избежать длительного вложения асинхронных функций в Node.js
Я хочу создать страницу, которая отображает некоторые данные из БД, поэтому я создал несколько функций, которые получают эти данные из моей БД. Я просто новичок в Node.js, так что, насколько я понимаю, если я захочу использовать их все на одной странице (HTTP-ответ), мне придется их всех вкладывать: http.createServer(function (req, res) …

2
Реальные применения зигогистоморфных препроморфизмов в реальном мире
Да, эти : {-#LANGUAGE TypeOperators, RankNTypes #-} import Control.Morphism.Zygo import Control.Morphism.Prepro import Control.Morphism.Histo import Control.Functor.Algebra import Control.Functor.Extras import Control.Functor.Fix import Control.Comonad.Cofree zygohistomorphic_prepromorphism :: Functor f => Algebra f b -> GAlgebra f (ZygoT (Cofree f) b) a -> (f :~> f) -> FixF f -> a zygohistomorphic_prepromorphism f = g_prepro …

7
Последствия фолд против фолд (или фолд)
Во-первых, Real World Haskell , который я читаю, говорит никогда не использовать, foldlа вместо этого использовать foldl'. Поэтому я верю в это. Но я не знаю, когда использовать foldrпротив foldl'. Хотя я вижу структуру их работы по-разному, но я слишком глуп, чтобы понять, когда «что лучше». Я думаю, мне кажется, …

13
Какие инструменты есть для функционального программирования на C?
В последнее время я много думал о том, как заниматься функциональным программированием на C ( не на C ++). Очевидно, что C является процедурным языком и на самом деле не поддерживает функциональное программирование изначально. Существуют ли какие-либо расширения компилятора / языка, которые добавляют некоторые функциональные программные конструкции к языку? GCC …

7
В чем разница между lapply и do.call?
Я недавно изучаю R и смущен двумя функциями: lapplyи do.call. Кажется, что они просто похожи на mapфункции в Лиспе. Но почему две функции с такими разными именами? Почему R просто не использует вызываемую функцию map?

14
Сжатие потоков с использованием JDK8 с использованием лямбды (java.util.stream.Streams.zip)
В JDK 8 с лямбдой b93 в b93 был класс java.util.stream.Streams.zip, который можно использовать для архивирования потоков (это показано в учебном пособии Dhananjay Nene, посвященном изучению Java8-лямбд. Часть 1 ). Эта функция: Создает ленивый и последовательный объединенный поток, элементы которого являются результатом объединения элементов двух потоков. Однако в b98 это …


2
Как использовать метод include в lodash, чтобы проверить, находится ли объект в коллекции?
lodash позволяет мне проверять членство основных типов данных с помощью includes: _.includes([1, 2, 3], 2) > true Но следующее не работает: _.includes([{"a": 1}, {"b": 2}], {"b": 2}) > false Это сбивает меня с толку, потому что следующие методы, которые ищут в коллекции, кажется, делают хорошо: _.where([{"a": 1}, {"b": 2}], {"b": …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.