我是Scala的新手,我刚刚开始学习它,现在尝试一些练习。尤其是这个我很难理解。
我最了解(f: (A, B) => C)
部分,但其余部分我不太明白。有人可以解释匿名功能部分之后发生了什么吗?
谢谢!
这是功能:
def curry[A, B, C](f: (A, B) => C): A => (B => C) = a => b => f(a, b)
答案 0 :(得分:6)
def curry
一种名为“ curry”的方法[A, B, C]
将处理3种不同的类型(f
,它将收到一个我们称为“ f”的参数: (A, B) => C)
,该参数的类型为“接受A,B并返回C的函数” : A => (B => C)
“ curry”返回类型“接受A并返回B并返回C的函数” =
这是“ curry”代码a => b => f(a, b)
函数,该函数接受一个参数(我们称为“ a”)并返回一个函数,接受一个参数(我们称为“ b”),该函数返回在“ a”和“ b”传递给“ f()”