Перейти к основному содержимому

Циклы

Введение

В языке Wave предусмотрены циклы для многократного выполнения кода. Циклы используются для повторного выполнения кода, пока выполняется определённое условие или для выполнения фиксированного числа итераций.

В Wave поддерживаются следующие виды циклов:

  • Цикл while: повторение на основе условия

  • Цикл for: повторение на основе количества

Также предоставляются ключевые слова break и continue для управления потоком выполнения в циклах. В этом разделе описываются как использовать циклы и ключевые слова управления потоком выполнения.


Цикл while

Цикл while выполняет блок кода до тех пор, пока предоставленное условие является истинным. Когда условие становится false, выполнение цикла прекращается.

Основная структура

Вот базовый синтаксис циклов while:

while (условие) {
// код для повторения
}
  • Условие должно иметь тип bool.

  • Блок кода заключен в {} и может содержать одно или несколько операторов.

Пример: вывод от 0 до 4

var i :i32 = 0;

while (i < 5) {
println("i равно {}.", i);
i = i + 1;
}

Этот пример повторяется, пока i меньше 5, выводит значение и увеличивает его на 1.


Цикл for

Цикл for удобен, когда известно количество повторений. Определяет повторения с использованием начального значения, условия завершения и инструкции изменения.

Основная структура

for (var name: type = initial; condition; increment) {
// код для повторения
}
  • name: переменная, используемая для управления циклами

  • condition: выполняется, пока равно true

  • increment: изменяет значение переменной цикла

Пример: вывод от 1 до 5

for (var i: i32 = 1; i <= 5; i = i + 1) {
println("i = {}", i);
}

Вложенные циклы

Можно разместить один цикл внутри другого, это называется вложенными циклами. Полезно, например, для обхода двумерных массивов или сочетаний.

Пример: двойной цикл while

var i :i32 = 0;

while (i < 3) {
var j :i32 = 0;

while (j < 2) {
println("i={}, j={}", i, j);
j = j + 1;
}

i = i + 1;
}

Оператор break

Оператор break немедленно завершает цикл и выходит из него. Полезен для остановки цикла при выполнении определенного условия.

Пример: завершение цикла при определенном значении

var i :i32 = 0;

while (true) {
if (i == 5) {
break;
}

println(i);
i = i + 1;
}

Оператор continue

Оператор continue пропускает оставшуюся часть текущего повторения и начинает следующее. Используется для выполнения части блока цикла только при удовлетворении определенного условия.

Пример: вывод только четных чисел

for (var i: i32 = 0; i <= 10; i = i + 1) {
if (i % 2 == 1) {
continue;
}

println(i);
}

Резюме

СинтаксисОписание
whileПовторяется, пока условие истинно
forВыполнение повторений с использованием начального значения, условия и инструкции изменения
breakНемедленно завершает цикл
continueПропуск к следующему повторению

Циклы в Wave созданы для гибкого выполнения повторяющихся задач как на основе условий, так и количества итераций.

Совместное использование операторов break и continue позволяет более точно управлять потоком выполнения циклов.