CRSの制御構造は、JavaScriptとほぼ同じ文法で定義します。
条件分岐です。
if ( 条件式 ) ステートメント1 [ else ステートメント2 ]
条件式が真のとき、ステートメント1が実行されます。オプションのelse が指定されている場合、条件式が偽のとき、ステートメント2が実行されます。
例
if (item1 == "1") {
print("item1は1です");
} else {
print("item1は1ではありません");
}
forループです。
for( 初期化式 ; 終了条件式 ; インクリメント式 ) ステートメント
初期化式を実行後、終了条件式が真の間、ステートメントを実行します。次の終了条件を確認する前にインクリメント式を実行します。
ステートメント内でbreak文を実行すると即座にループを終了します。また、ステートメント内でcontinue文を実行すると後続のステートメントを実行せずに次のループに入ります。
例
for (var n = 0; n < 10 ; n++) {
print("nは", n, "です");
}
for (var n = 0; n < 20 ; n++) {
if (n == 5) continue;
if (n == 9) break;
print("nは", n, "です");
}
配列などの要素に対応したループです。
for( ループ変数 in 対象変数 ) ステートメント
対象変数の内容を列挙するための値をループ変数に代入しながらステートメントを実行します。対象変数は配列化されたオブジェクト、Arrayオブジェクト、およびイテレータをサポートする一部のオブジェクトを指定することができます。ステートメント内でbreak文を実行すると即座にループを終了します。また、ステートメント内でcontinue文を実行すると後続のステートメントを実行せずに次のループに入ります。
例
var a = new Array("aa", "bb", "cc");
var n
for (n in a) {
print(a[n], "\n");
}
条件ループです。
while( 条件式 ) ステートメント
条件式が真の間、ステートメント実行します。ステートメントの実行前に条件式が評価されます。ステートメント内でbreak文を実行すると即座にループを終了します。また、ステートメント内でcontinue文を実行すると後続のステートメントを実行せずに次のループに入ります。
例
var a = 0;
while (a < 10) {
print("aは", a, "\n");
a++;
}
条件ループです。
do ステートメント while( 条件式 )
条件式が真の間、ステートメント実行します。ステートメントの実行後に条件式が評価されます。ステートメント内でbreak文を実行すると即座にループを終了します。また、ステートメント内でcontinue文を実行すると後続のステートメントを実行せずに次のループに入ります。
例
var a = 0;
do {
print("aは", a, "\n");
a++;
} while (a < 10);
条件により分岐します
switch( 評価式 ) {
case 結果1:
実行文
case 結果2:
実行文
:
case 結果n:
実行文
default:
実行文
}
評価式を評価しその結果と一致するcaseラベルにジャンプします。もし、defaultラベルが定義されている場合、評価式が他のどのcaseラベルとも一致しなかった場合にジャンプします。
ジャンプしたラベル以降のステートメントを実行しますが、次のcaseラベルに到達してもそのまま続くステートメントの実行を継続します。ステートメントの実行を中断してswitchブロックの最後にジャンプするためにはbreak文を置きます。
例
var data = 1;
switch (data) {
case 0:
print("dataは0です\n");
case 1:
print("dataは1以下です\n");
case 2:
print("dataは2以下です\n");
case 3:
print("dataは3以下です\n");
}
この例の場合、次の結果となります。
dataは1以下です
dataは2以下です
dataは3以下です
break文の利用例
var data = 1;
switch (data) {
case 0:
print("dataは0です\n");
break;
case 1:
print("dataは1です\n");
break;
case 2:
print("dataは2です\n");
break;
case 3:
print("dataは3です\n");
break;
default:
print("dataは3です\n");
break;
}
実行結果
dataは1です