Si tengo:¿Cómo obtengo (a, b) => c de a => b => c en Scala?
val f : A => B => C
Esta es la abreviatura de:
val f : Function1[A, Function1[B, C]]
¿Cómo consigo una función g
con la firma:
val g : (A, B) => C = error("todo")
(es decir)
val g : Function2[A, B, C] //or possibly
val g : Function1[(A, B), C]
en términos de f
?
¿Es extraño que no haya un método 'no comprobado' en' FunctionN' en sí? –
Para tener un método no cursado en la Función1, necesitaría limitar los objetivos aceptables para las funciones que devuelven funciones. Es decir, funciones con el tipo Function1 [A, Function1 [B, C]]. Eso probablemente podría hacerse con restricciones de tipo generalizadas, pero esas no estaban disponibles hasta Scala 2.8. –