繁体   English   中英

在Scala中将for循环递增2

[英]Increment for-loop by 2 in Scala

如何将循环增加2,相当于Java中的循环:

for (int i = 0; i < max; i+=2)

现在在Scala中,我有:

for (a <- 0 to max)

实际上, max永远是偶数。 我不知道如何在每个循环中将计数器增加到2。

尝试for (a <- 0 until max by 2)

注意tountil之间的区别。 严格的i < max你会想要直到。

val max = 10

scala> for(i <- 0 until max by 2)
     | println(i)
0
2
4
6
8

scala> for(i <- 0 to max by 2)
     | println(i)
0
2
4
6
8
10

这样,您可以将scala用于像java one这样的循环。

object Example extends App {
    for(i <-0 to 20 by 2) {
        println("Value of i = "+ i)
    }
}

输出量

Value of i = 0
Value of i = 2
Value of i = 4
Value of i = 6
Value of i = 8
Value of i = 10
Value of i = 12
Value of i = 14
Value of i = 16
Value of i = 18
Value of i = 20

毫不奇怪的是:

scala> for (a <- 0 until 10 by 2) yield a
// Vector(0, 2, 4, 6, 8, 10)
for (a <- 0 to max by 2) yield a

一定

(0 until max by 2)  foreach {...}

就足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM