我对Scala非常陌生。我正在阅读由Paul Chiusano和RúnarBjarnason编写的scala函数式编程书。到目前为止,我发现它很有趣。我看到咖喱和溶液uncurryScala中f(a,b)和f(a)(b)之间的区别
def curry[A,B,C](f: (A, B) => C): A => (B => C)= {
a => b => f(a,b)
}
def uncurry[A,B,C](f: A => B => C): (A, B) => C = {
(a,b) => f(a)(b)
}
在库里我明白F(A,B),这导致在类型C的值,但在uncurry我不理解F(A)(B)。任何人都可以请告诉我如何阅读f(a)(b)或如何产生一种类型的C或请向我推荐一些可以向我解释这一点的在线材料?
感谢您的帮助。
[This](http://stackoverflow.com/documentation/scala/1636/currying/5412/currying#t=201608031429246291326)示例可能描述了两者。 –