如何在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

回到顶部