2012-06-15 6 views

Antwort

17

Um eine Curry-Funktion zu erstellen, schreiben Sie es als ob es mehrere Funktionen waren (das ist eigentlich der Fall ;-)).

scala> (x: Int) => (y: Int) => x*y 
res2: Int => Int => Int = <function1> 

Dies bedeutet, dass Sie eine Funktion von Int zu einer Funktion von Int zu Int haben.

scala> res2(3) 
res3: Int => Int = <function1> 

alternativ können Sie es wie folgt schreiben:

scala> val f: Int => Int => Int = x => y => x*y 
f: Int => Int => Int = <function1> 
+0

Der letzte Ausdruck eine benannte Funktion ist, wie können wir das gleiche wie eine anonyme Funktion schreiben? –

+0

Im letzten Ausdruck, wie ist das Symbol „=>“ zu arbeiten? x => y => x * y –

+0

Sie haben wollen, um die Funktion zu übergeben, etwas zu haben. wenn Sie eine Methode/Funktion wie 'def foo (f: Int => Int => Int) haben' Sie es wie 'foo aufrufen können (x => y => x * y)'. – drexin