Как я могу вернуть в Scala функцию , вызывающую побочное действие лексическое замыкание 1 ?
Например, я смотрел этот пример кода в Go :
...
// fib returns a function that returns
// successive Fibonacci numbers.
func fib() func() int {
a, b := 0, 1
return func() int {
a, b = b, a+b
return b
}
}
...
println(f(), f(), f(), f(), f())
печатает 1 2 3 5 8
И я не могу понять, как написать то же самое на Scala.
1. Исправлено после комментария Apocalisp