Scala 现有答案的curry函数无效

Scala 现有答案的curry函数无效,scala,Scala,我尝试运行以下代码: val f: (a: Int) => (b: Int) => (c: Int) = a + b + c 在REPL和IntellijIDEA中发现,但它显然无效 从REP: scala> val f: (a: Int) => (b: Int) => (c: Int) = a + b + c <console>:1: error: ')' expected but ':' found. val f: (a: Int)

我尝试运行以下代码:

val f: (a: Int) => (b: Int) => (c: Int) = a + b + c
在REPL和IntellijIDEA中发现,但它显然无效

从REP:

scala> val f: (a: Int) => (b: Int) => (c: Int) = a + b + c
<console>:1: error: ')' expected but ':' found.
       val f: (a: Int) => (b: Int) => (c: Int) = a + b + c
                ^
scala>valf:(a:Int)=>(b:Int)=>(c:Int)=a+b+c
:1:错误:')应为“”,但找到“:”。
值f:(a:Int)=>(b:Int)=>(c:Int)=a+b+c
^
有人知道为什么吗?我的scala版本是2.10.1


谢谢你

你写的字就像在写:

val a: 5 = 5
你想要的更像

val f  = (a: Int) => (b: Int) => (c: Int) => a+b+c
为了进一步阐述,REP将写

f: Int => (Int => (Int => Int)) = <function1>
如果显式地给出这样的函数类型,编译器不需要关于a、b和c是什么的信息,只需编写a=>b=>c=>a+b+c即可

f: Int => Int => Int => Int = (a: Int) => (b: Int) => (c: Int) => a+b+c