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

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

8
Що є мотивацією для оцінки призначення Scala для Unit, а не присвоєного значення?
Що є мотивацією для оцінки призначення Scala для Unit, а не присвоєного значення? Поширеною схемою програмування вводу-виводу є такі речі: while ((bytesRead = in.read(buffer)) != -1) { ... Але в Scala це неможливо, оскільки ... bytesRead = in.read(buffer) .. повертає Unit, а не нове значення bytesRead. Здається цікавою річчю, яку …

14
Функціональні канали у пітоні, як%>% від R's magritrr
У R (завдяки magritrr) тепер можна виконувати операції з більш функціональним синтаксисом трубопроводів через %>%. Це означає, що замість кодування цього: > as.Date("2014-01-01") > as.character((sqrt(12)^2) Ви також можете зробити це: > "2014-01-01" %>% as.Date > 12 %>% sqrt %>% .^2 %>% as.character Для мене це читабельніше, і це поширюється на …

5
python: отримати кількість елементів зі списку (послідовності) з певною умовою
Якщо припустити, що у мене є список з величезною кількістю предметів. l = [ 1, 4, 6, 30, 2, ... ] Я хочу отримати кількість предметів із цього списку, де предмет повинен відповідати певній умові. Моя перша думка була: count = len([i for i in l if my_condition(l)]) Але якщо …

18
Який сенс у класі Option [T]?
Я не можу зрозуміти сенс Option[T]занять у Scala. Я маю на увазі, що я не можу побачити жодних переваг Noneпонад null. Наприклад, розглянемо код: object Main{ class Person(name: String, var age: int){ def display = println(name+" "+age) } def getPerson1: Person = { // returns a Person instance or null …

13
Чи можете ви пояснити закриття (як це стосується Python)?
Я багато читав про закриття, і думаю, що їх розумію, але, не затьмарюючи картини для себе та інших, я сподіваюся, хтось може пояснити закриття якомога коротше і чіткіше. Я шукаю просте пояснення, яке могло б допомогти мені зрозуміти, де і чому я хотів би їх використовувати.

1
Різниця між типовими класами MonadPlus, Alternative та Monoid?
Стандартна бібліотека Haskell класів типів MonadPlus, Alternativeі Monoidкожен з них надає два методи з практично тією ж самою семантикою: Пусте значення: mzero, emptyабо mempty. Оператор , a -> a -> aякий з'єднує значення в класі типів разом: mplus, <|>або mappend. Усі три визначають ці закони, яких слід дотримуватися: mempty `mappend` …

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

5
Розбийте масив JavaScript на шматки, використовуючи Lodash
Мені потрібно розділити масив JavaScript на nвеликі шматки. Наприклад: Враховуючи цей масив ["a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "a10", "a11", "a12", "a13"] і nдорівнює 4, вихід повинен бути таким: [ ["a1", "a2", "a3", "a4"], ["a5", "a6", "a7", "a8"], ["a9", "a10", "a11", "a12"], ["a13"] ] Я знаю чисті …

6
Що означають «реіфікація» та «реіфікація» в контексті (функціонального?) Програмування?
Я багато читаю цей термін у блогах про haskell та функціональне програмування (особливо в блозі sigfpe ), але я не маю уявлення про те, що це означає. Я в більшості випадків виходжу з того, що не знаю цього, але, мабуть, я б набагато краще розумів тексти, якби знав. Google мені …


8
Постачальник Java 8 з аргументами в конструкторі
Чому постачальники підтримують лише конструктори без аргументів? Якщо присутній конструктор за замовчуванням, я можу зробити це: create(Foo::new) Але якщо єдиний конструктор бере рядок, я повинен зробити це: create(() -> new Foo("hello"))

5
Каррінг Scala проти частково застосованих функцій
Я розумію, що тут є кілька питань про те, що таке функції каррінгу та частково застосовані, але я запитую про те, як вони відрізняються. Як простий приклад, ось наведена функція для пошуку парних чисел: def filter(xs: List[Int], p: Int => Boolean): List[Int] = if (xs.isEmpty) xs else if (p(xs.head)) xs.head …

2
Функціональні лінзи
Хтось може пояснити мені функціональні лінзи? Це напрочуд важка тема для гуглу, і я не просунувся. Мені відомо лише те, що вони надають подібну функціональність get / set, ніж у OO.

5
Mathematica: що таке символічне програмування?
Я великий шанувальник Стівена Вольфрама, але він, безумовно, не соромиться перебирати свій ріг. У багатьох посиланнях він прославляє Mathematica як іншу символічну парадигму програмування. Я не користувач Mathematica. Мої запитання: що це за символічне програмування? І як це порівнюється з функціональними мовами (такими як Haskell)?

13
розуміння списку python; стиснення списку списків?
хлопці. Я намагаюся знайти найелегантніше рішення проблеми і замислювався, чи python має щось вбудоване для того, що я намагаюся зробити. Я роблю це. У мене є список, Aі у мене є функція, fяка бере елемент і повертає список. Я можу використовувати розуміння списку, щоб перетворити все Aприблизно так; [f(a) for …

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