如何在scala中返回一个函数
发布时间:2020-12-16 09:33:41 所属栏目:安全 来源:网络整理
导读:如何在Scala中返回功能 side-effecting lexical closure1? 例如,我正在看this code sample in 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 ret
如何在Scala中返回功能
side-effecting lexical closure1?
例如,我正在看this code sample in 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()) 版画 我不知道如何在Scala中写同一个。 在Apocalisp评论后更正 解决方法
稍短一点,你不需要回报。
def fib() = { var a = 0 var b = 1 () => { val t = a; a = b b = t + b b } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |