如何在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评论后更正
回答:
稍短一些,您不需要退货。
def fib() = { var a = 0
var b = 1
() => {
val t = a;
a = b
b = t + b
b
}
}
以上是 如何在Scala中返回函数 的全部内容, 来源链接: utcz.com/qa/397818.html