Цыкл While
Уводзіны
У гэтым раздзеле тлумачыцца сінтаксіс і спосабы выкарыстання цыкла while
, які з'яўляецца адным з канструкцый кіравання ў Wave. Цыкл while
паўтарае блок кода, пакуль умова застаецца праўдзівай (true). Як толькі ўмова становіцца няпраўдзівай (false), паўтарэнне заканчваецца.
Асноўная структура
Асноўная структура цыкла while
у Wave наступная:
while (умова) {
// код для выканання ў цыкле
}
-
Умова: павінна быць вылічана як тып
bool
. -
Блок кода павінен быць абгорнуты ў фігурныя дужкі
{}
, і можа ўключаць некалькі каманд.
Напрыклад:
var i :i32 = 0;
while (i < 5) {
println("i роўна {}", i);
i = i + 1;
}
Гэты код выводзіць значэнне i
, пакуль яно меншае за 5, і
павялічвае i на 1 на кожным кроку.
Прыклад
Ніжэй прыведзены некалькі простых прыкладаў цыкла while
:
Прыклад 1: Вывесці лікі ад 1 да 10
var n :i32 = 1;
while (n <= 10) {
println("{}", n);
n = n + 1;
}
Прыклад 2: Завяршыць цыкл па ўводзе карыстальніка
var input :str;
while (true) {
input = input("Для працягвання націсніце любую клавішу (каб выйсці, увядзіце 'exit'): ");
if (input == "exit") {
break;
}
println("Уведзенае значэнне: {}", input);
}
Укладзенасць
Wave падтрымлівае ўкладзеныя цыклы while
, калі адзін цыкл знаходзіцца ўнутры іншага. Гэта дазваляе ствараць многавымерныя цыклы або складаную логіку ўмоў.
Напрыклад:
var i :i32 = 0;
while (i < 3) {
var j: int = 0;
while (j < 2) {
println("i={}, j={}", i, j);
j = j + 1;
}
i = i + 1;
}
Гэты код выводзіць камбінацыі значэнняў i
і j
, дзе i
прымае значэнні ад 0 да 2, а для кожнага значэння i
j
прымае значэнні 0 і 1.