在“惯用的”
Scala中表达这个功能的一些想法是什么.或者更准确地说,有没有办法去除本地变量而不牺牲可读性?
def solve(threshold: Int)(f: Int => Int): Int = { var sum = 0 var curr = 0 while(sum < threshold) { sum += f(curr) curr += 1 } curr }
我唯一可以想到的是这个,但是在我看来,它的阅读时间越来越长.
def solve2(threshold: Int)(f: Int => Int): Int = { val resultIterator = Iterator.iterate (0,0) { case (curr,sum) => (curr + 1,sum + f(curr)) } (resultIterator find (_._2 >= threshold)).get._1 }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。