Pytania otagowane jako currying

Currying to proces przekształcania funkcji wielu argumentów w funkcję jednego argumentu, która zwraca inną funkcję, która przyjmuje o jeden argument mniej niż oryginalna. Języki takie jak Haskell używają tego jako domyślnego mechanizmu aplikacji argumentów, ponieważ znacznie ułatwia to niektóre techniki programowania, takie jak częściowe stosowanie.


14
Jaka jest różnica między curry a nakładaniem częściowym?
Dość często widzę w Internecie różne skargi, że przykłady curry innych ludzi nie są curry, ale są jedynie częściowym zastosowaniem. Nie znalazłem odpowiedniego wyjaśnienia, czym jest częściowe zastosowanie lub czym różni się od curry. Wydaje się, że istnieje ogólne zamieszanie, z równoważnymi przykładami opisywanymi jako curry w niektórych miejscach, a …


6
Co oznacza lambda z 2 strzałkami w Javie 8?
Przeczytałem wcześniej kilka samouczków dotyczących języka Java 8. W tej chwili napotkałem następujący temat: Czy java obsługuje Currying? Tutaj widzę następujący kod: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); Rozumiem, że ten przykład sumuje 2 elementy, ale nie rozumiem konstrukcji: a -> b -> a + …
118 java  lambda  java-8  currying 





5
Scala curry a funkcje częściowo stosowane
Zdaję sobie sprawę, że jest tu kilka pytań o to, czym są funkcje curry i częściowo stosowane, ale pytam, czym się różnią. Jako prosty przykład, oto funkcja curry do znajdowania liczb parzystych: def filter(xs: List[Int], p: Int => Boolean): List[Int] = if (xs.isEmpty) xs else if (p(xs.head)) xs.head :: filter(xs.tail, …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.