当有人说“scala中的功能正确”时,这意味着什么?
而且,关联性如何在Int => Int => Int
答案 0 :(得分:2)
函数类型Int => Int => Int
相当于Int => (Int => Int)
。换句话说,=>
首先对右侧的内容进行分组,或者是右对联的。
类型Int => (Int => Int)
定义单个参数函数,该函数接受Int
,其返回类型的函数从Int
到Int
。
那么这个功能的例子是什么?我们可以用这种类型编写一个名为sum
的函数:
val sum: Int => Int => Int = {
(a: Int) =>
{
(b: Int) =>
a + b
}
}
所以sum
接受一个参数a
并返回一个接受和参数b
的新函数,并返回a
和b
之和:
scala> val sumWith3 = sum(3) // `sum` takes an Int argument
sumWith3: Int => Int = <function1> // notice the return type of `Int => Int`
scala> sumWith3(5) // takes an Int argument
res0: Int = 8 // returned an Int