Запитання з тегом «functional-programming»

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

17
Як можна зробити щось корисне без змінного стану?
Останнім часом я читав багато речей про функціональне програмування і можу зрозуміти більшість із них, але одне, що я просто не можу обернути головою, - це кодування без стану. Мені здається, що спрощення програмування шляхом зняття змінного стану - це як "спрощення" автомобіля шляхом видалення приладної панелі: готовий продукт може …

8
Як використовувати underscore.js як шаблон двигуна?
Я намагаюся дізнатися про нові способи використання javascript як мови на сервері та як функціональної мови. Кілька днів тому я чув про node.js та Express Framework. Тоді я бачив про underscore.js як набір функцій утиліти. Я бачив це питання на stackoverflow . Він говорить про те, що ми можемо використовувати …

4
Що таке "підйом" у Scala?
Іноді, читаючи статті в екосистемі Scala, я читаю термін "підняти" / "підняти". На жаль, не пояснено, що саме це означає. Я провів деякі дослідження, і, схоже, підйом має щось спільне з функціональними значеннями чи чимось подібним, але мені не вдалося знайти текст, який би пояснював, що таке підйом насправді іде …

17
Чим відрізняється процедурне програмування від функціонального програмування? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закритий минулого року . Удосконаліть це питання Я читав статті у Вікіпедії як щодо процедурного програмування, так і для …

11
Краще пояснення для мов без нуля
Кожен часто, коли програмісти скаржаться на нульові помилки / винятки, хтось запитує, що ми робимо без нуля. У мене є основна ідея прохолоди типів варіантів, але я не володію знаннями або знаннями мови, щоб найкраще це виразити. Що є чудовим поясненням наступного, написаного у спосіб, доступний пересічному програмісту, до якого …

15
Скорочення Javascript для масиву об'єктів
Скажіть, я хочу підсумовувати a.xкожен елемент у arr. arr = [{x:1},{x:2},{x:4}] arr.reduce(function(a,b){return a.x + b.x}) >> NaN У мене є причина вважати, що сокира в якийсь момент не визначена. Далі добре працює arr = [1,2,4] arr.reduce(function(a,b){return a + b}) >> 7 Що я роблю неправильно в першому прикладі?

17
Що стосується функціонального програмування, що таке функтор?
Я декілька разів стикався з терміном "Functor", читаючи різні статті про функціональне програмування, але автори зазвичай припускають, що читач уже розуміє цей термін. Оглянувшись в Інтернеті, ви отримали або надмірно технічні описи (див. Статтю у Вікіпедії ), або неймовірно розпливчасті описи (див. Розділ про функціонерів на цьому веб-сайті з навчального …

16
Javascript еквівалент zip функції Python
Чи існує еквівалент javascript в ZIP-функції Python? Тобто, задані декілька масивів однакової довжини створюють масив пар. Наприклад, якщо у мене є три масиви, які виглядають так: var array1 = [1, 2, 3]; var array2 = ['a','b','c']; var array3 = [4, 5, 6]; Вихідний масив повинен бути: var output array:[[1,'a',4], [2,'b',5], …

17
PHP's array_map, включаючи клавіші
Чи є спосіб зробити щось подібне: $test_array = array("first_key" => "first_value", "second_key" => "second_value"); var_dump(array_map(function($a, $b) { return "$a loves $b"; }, array_keys($test_array), array_values($test_array))); Але замість того, щоб дзвонити array_keysі array_valuesбезпосередньо передавати $test_arrayзмінну? Бажаний вихід: array(2) { [0]=> string(27) "first_key loves first_value" [1]=> string(29) "second_key loves second_value" }

6
Список рядків до одного рядка
Скажімо, у вас є: List<string> los = new List<string>(); У цьому божевільному функціональному світі ми живемо в ці дні, який із них був би найкращим для створення однієї струни шляхом об'єднання таких: String.Join(String.Empty, los.ToArray()); StringBuilder builder = new StringBuilder(); los.ForEach(s => builder.Append(s)); string disp = los.Aggregate<string>((a, b) => a + …

11
Чому незмінність так важлива (або потрібна) в JavaScript?
Зараз я працюю над рамками React JS та React Native . На півдорозі я натрапив на Immutability або Immutable-JS Library , коли я читав про реалізацію Flux та Redux у Facebook. Питання в тому, чому незмінність так важлива? Що не так у мутуванні предметів? Чи не робить це просто? Надаючи …

13
Чи існує програмно-інженерна методологія функціонального програмування? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередилось на одній проблемі, лише відредагувавши цю публікацію . Закрито 3 роки тому . Удосконаліть це питання Інженерія програмного забезпечення, як вона викладається сьогодні, повністю орієнтована на об'єктно-орієнтоване програмування …

11
Чому функціональне програмування ще не прийняте?
Заблокований . Це запитання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі він не приймає нових відповідей чи взаємодій. Я прочитав кілька текстів про декларативне / функціональне програмування (мови), випробував Haskell, а також написав сам. З того, що я бачив, функціональне програмування має ряд …

7
різниця між foldLeft та reduLeft у Scala
Я дізнався основну різницю між foldLeftтаreduceLeft foldLeft: початкове значення має бути передано reduLeft: приймає перший елемент колекції як початкове значення викидає виняток, якщо колекція порожня Чи є якась інша різниця? Якась конкретна причина мати два способи з подібною функціональністю?

6
Python: Для чого потрібні functools.partial?
Часткове застосування класно. Яку функціональність functools.partialпропонує ви не можете отримати через лямбда? >>> 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 >>> incr2 = functools.partial(sum2, 1) …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.