Результаты поиска по запросу "functional-programming"

2 ответа

Что делает (ф.). значит в Хаскеле?

Я видел много функций, определяемых в соответствии с шаблоном(f .) . g, Например: countWhere = (length .) . filter duplicate = (concat .) . replicate concatMap = (concat .) . mapЧто это значит?

1 ответ

Это делает декомпозицию вашей программы трудной и неправдоподобной, что сводит на нет попытки компоновки существующего кода с новым кодом или иным образом изолирует и выделяет функциональность любой части вашего кода. Другими словами, побочные эффекты похожи на клей Rigor Mortis, который разливается по всему и превращает его в одну непроницаемую монолитную спагетти. Попробуйте вытащить одну лапшу, не вызывая каскада беспокойства у большинства других лапши.

инство учебников / статей / книг говорят о побочных эффектах при представлении функционального программирования. Возьмите этот код Python: def isPrime(n): k = 2 while k < n: if n % k == 0: return False k += 1 return TrueВ тексте говорится, что ...

3 ответа

Вау снова! Это круто. Спасибо, что нашли время, чтобы написать это. Хотя это не так много строк кода, он представляет собой довольно значительный набор методов. Моя следующая задача - обдумать, как добавить в конвейер ленивый декартовой продукт ...

я есть список животных: let animals = ["bear", "dog", "cat"]И несколько способов преобразовать этот список: typealias Transform = (String) -> [String] let containsA: Transform = { $0.contains("a") ? [$0] : [] } let plural: Transform = { [$0 + ...

ТОП публикаций

3 ответа

Сведение списка списков

Я новичок в Схеме и функциональном программировании в целом. Может кто-нибудь объяснить этот код - что конкретноkons а такжеknil находятся? Цель состоит в том, чтобы сгладить список списков. (define (fold1 kons knil lst) (if (null? lst) knil ...

4 ответа

 будет ссылаться на содержащую область, которая, вероятно, не будет столь полезна для нас, поскольку мы хотим, чтобы тело функции получало доступ к членам объекта. Чтобы смягчить это, оберните это в закрытие как это:

жный дубликат: Может ли объект JavaScript иметь цепочку прототипов, но при этом быть функцией? [https://stackoverflow.com/questions/340383/can-a-javascript-object-have-a-prototype-chain-but-also-be-a-function] Я пытаюсь создать вызываемый объект ...

4 ответа

 партнеры слева: это

тоящее время я читаю «Learn You a Haskell for Great Good»! и спотыкаюсь о объяснении для оценки определенного кодового блока. Я прочитал объяснения несколько раз и начинаю сомневаться, понимает ли даже автор, что делает этот фрагмент кода. ghci> ...

6 ответов

Извините, только снял вопрос. OP-теги Scala (которые не работают ни в каком смысле в чистом смысле), ANTLR предоставляет парсер, используемый в Scala. Ваша точка зрения, тем не менее.

етил явное отсутствие парсеров LL, которые создают парсеры на функциональных языках. Идеальная находка для того, что я искал безуспешно, - это создание парсера на Haskell для LL (*) грамматики в стиле ANTLR (по модулю незначительного ...

2 ответа

Он показывает, как эти принципы действуют в функциональном мире в той же степени, что и в ООП, потому что нам все еще необходимо решить те же основные проблемы. И в целом, это заставило меня думать, что функциональное программирование лучше подходит для дизайна SOLID.

я из языка ООП, я знаком с принципами SOLID объектно-ориентированного проектирования. Кажется, что некоторые из них вписались бы в функциональную модель программирования, в то время как другие части не имеют смысла в мире, в котором отсутствует ...

4 ответа

Путешествие по Скала: операторы

рограммировании на Scala я делаю все больше и больше функциональных вещей. Тем не менее, при использовании инфиксной записи трудно сказать, когда вам нужна скобка, а когда нет. Например, следующий фрагмент кода: def caesar(k:Int)(c:Char) = c ...

7 ответов

Без определения функции func (i: Int) с использованием оператора «повторение строки» *:

наилучший способ создатьMap[K,V] изSet[K] и функция отK вV? Например, предположим, у меня есть scala> val s = Set(2, 3, 5) s: scala.collection.immutable.Set[Int] = Set(2, 3, 5)а также scala> def func(i: Int) = "" + i + i func: (i: ...