Widziałem odniesienia do funkcji curry w kilku artykułach i blogach, ale nie mogę znaleźć dobrego wyjaśnienia (lub przynajmniej takiego, które ma
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.
Widziałem odniesienia do funkcji curry w kilku artykułach i blogach, ale nie mogę znaleźć dobrego wyjaśnienia (lub przynajmniej takiego, które ma
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...
Chyba jeszcze nie żałowałem curry. Rozumiem, co to robi i jak to zrobić. Po prostu nie mogę wymyślić sytuacji, w której bym go użył. Gdzie używasz curry w JavaScript (lub gdzie używają go główne biblioteki)? Mile widziane są przykłady manipulacji DOM lub ogólnych przykładów programowania...
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 +
Niedawno dwukrotnie refaktoryzowałem kod, aby zmienić kolejność parametrów, ponieważ było zbyt dużo kodu, w którym hacki takie jak fliplub \x -> foo bar x 42miały miejsce. Jakie zasady pomogą mi jak najlepiej wykorzystać curry podczas projektowania podpisu funkcji?...
W Pythonie chciałbym napisać funkcję, make_cylinder_volume(r)która zwraca inną funkcję. Ta zwrócona funkcja powinna być wywoływalna za pomocą parametru hi zwracać objętość walca wraz z wysokością hi promieniem r. Wiem, jak zwrócić wartości z funkcji w Pythonie, ale jak zwrócić inną funkcję ?...
Zastanawiałem się, czy można to zrobić w Javie. Myślę, że nie jest to możliwe bez natywnej obsługi domknięć.
Prowadzę dyskusję na temat list wielu parametrów w przewodniku po stylu Scala, który prowadzę. Zdałem sobie sprawę, że istnieją dwa sposoby curry i zastanawiam się, jakie są przypadki użycia: def add(a:Int)(b:Int) = {a + b} // Works add(5)(6) // Doesn't compile val f = add(5) // Works val f =...
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...
W Scali można pisać (curried?) Funkcje takie jak ta def curriedFunc(arg1: Int) (arg2: String) = { ... } Jaka jest różnica między powyższą curriedFuncdefinicją funkcji z dwiema listami parametrów a funkcjami z wieloma parametrami na jednej liście parametrów: def curriedFunc(arg1: Int, arg2:...