Подтвердить что ты не робот

Приращение для цикла на 2 в Scala

Как я увеличиваю цикл на 2 как эквивалент этого в Java:

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

Прямо сейчас в Scala у меня есть:

for (a <- 0 to max)

Для факта max всегда будет четным. Я не знаю, как увеличить счетчик до 2 в каждом цикле.

4b9b3361

Ответ 1

Попробуйте for (a <- 0 until max by 2)

Ответ 2

Обратите внимание на разницу между to и until. Строго 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

Ответ 3

Неудивительно легко:

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

Ответ 4

for (a <- 0 to max by 2) yield a

Ответ 5

Конечно, (От 0 до макс на 2) foreach {...} будет достаточно

Ответ 6

Таким образом, вы можете использовать scala для цикла, например java.

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