Поиск…


Синтаксис

  • для ( идентификатор переменной в итерирующей коллекции ) { выражение }
  • while ( условие ) { выражение }
  • do { выражение } while ( условие );
  • перерыв;
  • Продолжить;

За

Для циклов итерации по итерирующей коллекции . Итерируемая коллекция представляет собой любой класс, который структурно объединяется с типами Iterator<T> или Iterable<T> из стандартной библиотеки Haxe.

За цикл, который регистрирует числа в диапазоне от 0 до 10 (исключение), может быть записан следующим образом:

for (i in 0...10) {
    trace(i);
}

Идентификатор переменной i содержит индивидуальное значение элементов в коллекции повторов. Такое поведение аналогично для каждого на других языках.

Поэтому для цикла, который регистрирует элементы в массиве, можно записать следующим образом:

for (char in ['a', 'b', 'c', 'd']) {
    trace(char);
}

Попробуйте пример на try.haxe.org .

Рекомендации

В то время как

While-loops выполняют выражение тела, пока условие цикла оценивается как true .

Цикл while, который регистрирует числа в диапазоне от 9 до 0 (включительно), может быть записан следующим образом:

var i = 10;
while (i-- > 0) {
    trace(i);
}

Попробуйте пример на try.haxe.org .

Рекомендации

Делать пока

Циклы do-while выполняют выражение тела хотя бы один раз, а затем продолжают выполнять его, пока условие цикла оценивается как true .

Цикл do-while, который регистрирует числа в диапазоне от 10 до 0 (включительно), может быть записан следующим образом:

var i = 10;
do {
    trace(i);
} while (i-- > 0);

Попробуйте пример на try.haxe.org .

Рекомендации

Управление потоком

Поток или выполнение цикла можно контролировать, используя выражения break и continue .

Перерыв

break завершает текущий цикл. В случае, если цикл вложен в другой цикл, родительский цикл не изменяется.

for (i in 0...10) {
    for (j in 0...10) {
        if (j == 5) break;
        trace(i, j);
    }
}

Попробуйте пример на try.haxe.org .

Продолжить

continue пропускает текущую итерацию цикла в точке выражения. В случае, если цикл вложен в другой цикл, родительский цикл не изменяется.

for (i in 0...10) {
    for (j in 0...10) {
        if (j == 5) continue;
        trace(i, j);
    }
}

Попробуйте пример на try.haxe.org .

Рекомендации



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow