val x:Int => Int = {y => y}这个scala代码是什么意思?

时间:2018-03-21 07:54:36

标签: scala

val x: Int=> Int = { y => y } //①这是正确的

( x1: Int) => Int = { y => y} //②这是错误的

我理解一个简单的scala函数:x:Int => x

或者:val f =(x: Int) => x

但如何解释" x"的作用?在①的句子中

2 个答案:

答案 0 :(得分:4)

dslContext.select(*) .from(TABLE) .groupBy(TABLE.CREATED_AT) .having(DSL.condition(max(TABLE.CREATED_AT)))\ 中,val x: Int=> Int = { y => y }用于定义Int=> Int 不可变变量的返回类型,它将Int作为输入并返回Int值

x错误,因为无法将函数分配给其他函数,因为(x1: Int) => Int = { y => y}是一个函数而(x1: Int) => Int是另一个函数

{ y => y}是正确的,因为您正在分配val f =(x: Int) => x函数,该函数将整数值作为输入并按原样返回并分配给不可变变量f。

在一行中定义x 将是 x是传递给执行x上操作的函数的不可变输入变量

答案 1 :(得分:1)

下面:

val x: Int=> Int = { y => y }

x是一个接收整数并返回相同整数的函数。

scala> x(5)
res4: Int = 5