Циклы

Цикл while

while условие {
   тело цикла
}

Скобки в условии необязательны.

i = 0
while i < 5 {
  print i++
}

// или

i = 0
while (i < 5) {
  print i++
}

Цикл do-while

do {
   тело цикла
} while условие

Скобки в условии необязательны.

i = 0
do {
  print i++
} while i < 5

// или

i = 0
do {
  print i++
} while (i < 5)

Цикл for

for инициализация, условие_работы, инкремент {
   тело цикла
}

for (инициализация, условие_работы, инкремент) {
   тело цикла
}

Скобки в условии необязательны.

for i = 0, i < 5, i++
  print i++

// или

for (i = 0, i < 5, i++) {
  print i++
}

Цикл foreach

Перебирает элементы строки, массива или карты.

Перебор строки:

for символ : строка {
   тело цикла
}
for символ, код : строка {
   тело цикла
}

Перебор массива:

for значение : массив {
   тело цикла
}
for значение, индекс : массив {
   тело цикла
}
for (значение : массив) {
   тело цикла
}

Перебор карты:

for (ключ, значение : карта) {
   тело цикла
}

Скобки необязательны.

arr = [1, 2, 3, 4]
for v : arr {
  println v
}

map = {"key1": 1, "key2": 2}
for key, value : map
  println key + " = " value
}