繰り返し文
紹介
Wave言語では、コードを反復して実行できるように繰り返し文が提供されています。 繰り返し文は、特定の条件が満たされる間コードを繰り返し実行するか、特定の回数だけ繰り返すときに使用されます。
Waveでサポートされている繰り返し文は以下の通りです:
-
while文: 条件に基づく繰り返し
-
for文: 回数に基づく繰り返し
また、繰り返しの途中でフローを制御できるbreak, continueキーワードも提供されます。 このセクションでは、繰り返し文の使い方とフロー制御キーワードの両方を説明します。
while文
while
文は、指定された条件式がtrue
と評価される間、コードブロックを繰り返し実行します。
条件がfalse
になると繰り返しは終了します。
基本構造
以下は、while
文の基本的な構文です:
while (条件式) {
// 繰り返しコード
}
-
条件式は
bool
型でなければなりません。 -
コードブロックは
{}
で囲まれ、1つ以上の命令文を含めることができます。
例: 0から4まで出力
var i :i32 = 0;
while (i < 5) {
println("iは{}です。", i);
i = i + 1;
}
この例は、i
が5未満の間繰り返され、各繰り返しごとに値を出力し、1ずつ増加します。
for文
for
文は反復回数が決まっている場合に有用に使われます。
初期値、終了条件、増減式を一緒に指定して繰り返しを構成します。
基本構造
for (var 変数名: 型 = 初期値; 条件式; 増減式) {
// 繰り返しコード
}
-
変数名: 繰り返し制御に使用される変数
-
条件式:
true
の間、繰り返しが実行されます -
増減式: 繰り返し変数の値を変更します
例: 1から5まで出力
for (var i: i32 = 1; i <= 5; i = i + 1) {
println("i = {}", i);
}
ネストされた繰り返し文
繰り返し文の内部に別の繰り返し文を記述でき、これをネストされた繰り返し文と呼びます。 たとえば、2次元配列や組み合わせを巡回するときに有用です。
例: 二重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
文を一緒に使用すると、より精巧なループフロー制御も可能です。