val x: Int=> Int = { y => y }
//①这是正确的
( x1: Int) => Int = { y => y}
//②这是错误的
我理解一个简单的scala函数:x:Int => x
或者:val f =(x: Int) => x
但如何解释" x"的作用?在①的句子中
答案 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