这可能是一个基本的scala问题,但无法弄清楚如何:
如何使用Scala for表示此java循环:
for (int i=1;i<100000;i=2*i)我知道这是一种可能的方式:
def loopByTwiceBefore(from:Int, to:Int)(f:Int=>Unit):Unit = {
if (from<to){
f(from)
loopByTwiceBefore(from*2, to)(f);
}
} 但是,在Scala中有没有更规范的方法来做到这一点呢?
发布于 2012-09-29 04:12:14
您可以从Iterator (或从其他类,如Stream、List等)使用iterate函数:
Iterator.iterate(1)(_*2).takeWhile(_ < 100000) foreach {...}https://stackoverflow.com/questions/12646721
复制相似问题