Запитання з тегом «currying»

15
У чому перевага каррі?
Щойно я дізнався про каррі, і, хоча я думаю, що розумію цю концепцію, я не бачу великої переваги в її використанні. Як тривіальний приклад я використовую функцію, яка додає два значення (записані в ML). Версія без завивки буде fun add(x, y) = x + y і буде називатися як add(3, …

1
Чи є ланцюгові методи, для яких потрібен лише один параметр на метод, еквівалентний кришці?
Останнім часом я бавляюся з Рубі, і мені стало цікаво, чи в чистих об'єктно-орієнтованих мовах (і навіть тих, які не є чистими) виготовлення методів, які беруть лише один параметр, а потім зв'язані між собою, еквівалентно закріпленню в мовах з функціоналом стиль? Якщо ні, то чому б і ні? Буду вдячний …

3
Чи можливе одночасно функціонування каррі та варіди?
Я замислююся над тим, щоб зробити доступні функції currying і variadic у динамічно набраній мові програмування, але мені цікаво, чи це можливо чи ні. Ось псевдокод: sum = if @args.empty then 0 else @args.head + sum @args.tail яка нібито підсумовує всі його аргументи. Тоді, якщо sumсама лікується числом, то результат …

4
Що особливого в каррі або частковому застосуванні?
Я щодня читав статті про функціональне програмування і намагався якомога більше застосувати деякі практики. Але я не розумію, що є унікальним у вигонці або частковому застосуванні. Візьмемо цей приклад Groovy як приклад: def mul = { a, b -> a * b } def tripler1 = mul.curry(3) def tripler2 = …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.