Wenn ich habe:Wie bekomme ich (a, b) => c von a => b => c in Scala?
val f : A => B => C
Dies ist eine Abkürzung für:
val f : Function1[A, Function1[B, C]]
Wie ich eine Funktion g
mit der Unterschrift erhalten Sie:
val g : (A, B) => C = error("todo")
(ie)
val g : Function2[A, B, C] //or possibly
val g : Function1[(A, B), C]
in Bezug auf f
?
Seltsam, dass es an 'FunctionN' selbst keine' uncurried' Methode gibt? –
Um eine uncurried-Methode für Function1 zu haben, müssten Sie die zulässigen Ziele davon auf Funktionen beschränken, die Funktionen zurückgeben. Das heißt Funktionen mit dem Typ Function1 [A, Function1 [B, C]]. Dies könnte wahrscheinlich mit generalisierten Typ-Constraints geschehen, aber diese waren erst ab Scala 2.8 verfügbar. –