Ответ 1
Попробуйте for (a <- 0 until max by 2)
Как я увеличиваю цикл на 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)
Обратите внимание на разницу между 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
Неудивительно легко:
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 до макс на 2) foreach {...} будет достаточно
Таким образом, вы можете использовать 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