繰り返し文
紹介
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);
}