return (): Int => {...}
не является правильным выражением в Scala.Если вы хотите явно указать тип возвращаемого значения, вам нужно поместить объявление после значения (а значением будет анонимная функция):
def fibonacci():() => Int = {
var first = 1
var second = 2
return ( () => {
val oldFirst = first
first = second
second = second + oldFirst
second
} ) : () => Int
}
Обратите внимание, однако, что в этом нет необходимости.Если вы опустите return
, вам вообще не нужно делать явного объявления типа:
def fibonacci() = {
var first = 1
var second = 2
() => {
val oldFirst = first
first = second
second = second + oldFirst
second
}
}