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

val x:Int=>;Int={y=>;y}这个scala代码是什么意思?,scala,Scala,valx:Int=>Int={y=>y}//① 这是正确的 (x1:Int)=>Int={y=>y}//② 这是错误的 我理解这样一个简单的scala函数:x:Int=>x 或者这个:valf=(x:Int)=>x 但是如何解释“x”在句子中的作用呢① 这里: val x: Int=> Int = { y => y } x是一个函数,它接收一个整数并返回相同的整数 scala> x(5) res4: Int = 5 在这里: x是一个函数,它接收一个整数并返回相同的整数 s

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

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

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

或者这个:
valf=(x:Int)=>x

但是如何解释“x”在句子中的作用呢①

这里:

val x: Int=> Int = { y => y }
x是一个函数,它接收一个整数并返回相同的整数

scala> x(5)
res4: Int = 5
在这里:

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

scala> x(5)
res4: Int = 5

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
是正确的,因为您正在分配
(x:Int)=>x
函数,该函数以整数值作为输入,按原样返回,并分配给不可变变量f


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

val x:Int=>Int={y=>y}
中,
Int=>Int
用于定义以Int为输入并返回Int值的不可变变量的返回类型

(x1:Int)=>Int={y=>y}
是错误的,因为一个函数不能分配给另一个函数,因为
(x1:Int)=>Int
是一个函数,
{y=>y}
是另一个函数

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


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

谢谢,我知道了。变量“x”引用(Int=>Int)的函数。我也可以这样写valx:(Int=>Int)={y=>y}谢谢,我知道了。变量“x”引用了(Int=>Int)的函数,我也可以这样写valx:(Int=>Int)={y=>y}