注意:这是一个理论问题,我不是想解决任何问题,也不是为了实际目的而试图取得任何效果
使用(arguments)=>expression语法在Scala中创建lambda时,是否可以显式提供返回类型?
Lambda与方法没有区别,因为它们都被指定为表达式,但据我所知,方法的返回类型很容易用def name(arguments): return type = expression语法定义.
考虑这个(说明性)示例:
def sequence(start: Int, next: Int=>Int): ()=>Int = {
var x: Int = start
//How can I denote that this function should return an integer?
() => {
var result: Int = x
x = next(x)
result
}
}
Run Code Online (Sandbox Code Playgroud)