Exemplo de Curry em Scala
O seguinte é um bom exemplo de currying?
def sum(a: Int, b: Int) : (Int => Int) = {
def go(a: Int) : Int = {
a + b;
}
go
}
Eu meio que entendo os resultados abaixo, mas como eu poderia escrever (ou talvez como eu deveria ter escrito)sum()
de maneira surrada?
scala> sum(3,4) res0: Int => Int = <function1>
scala> sum(3,4).apply(2) res1: Int = 6
scala> sum(3,4).apply(3) res2: Int = 7