$ scala Welcome to Scala version 2.10.0-M2 (OpenJDK 64-Bit Server VM, Java 1.8.0-jdk8-b35). Type in expressions to have them evaluated. Type :help for more information. scala> val f = (x:Int, s:String) => s*x f: (Int, String) => String = <function2> scala> f(2, "a") res0: String = aa scala> (f) (2, "a") res1: String = aa scala> ((x:Int, s:String) => s*x) (2, "a") res2: String = aaJeszcze nie wiem, gdzie i dlaczego chciałbym z tego skorzystać, ale moja głowa prawie eksplodowała z wrażenia! Czy to, aby nie ma związku z częściowym wywołaniem funkcji (ang. currying)?!
Po kwadransie, w którym główkowałem wciąż nad tematem...
Już wiem! Nie ma znaczenia, czy korzystam z symbolu funkcyjnego czy definicji funkcji anonimowej, która przez przypisanie do symbolu staje się nieanonimowa, owe wykonanie powyżej, w każdym przypadku po prostu wywoła funkcję. Ostatni przykład to właśnie prezentuje. Takie zagadki językowe lubię.
No fajne, ale z curry'ingiem to IMHO nie ma nic wspólnego.
OdpowiedzUsuńDzięki!