制御構造

CRSの制御構造は、JavaScriptとほぼ同じ文法で定義します。

if … else 文

条件分岐です。

if ( 条件式 ) ステートメント1 [ else ステートメント2 ]

条件式が真のとき、ステートメント1が実行されます。オプションのelse が指定されている場合、条件式が偽のとき、ステートメント2が実行されます。


if (item1 == "1") {
    print("item1は1です");
} else {
    print("item1は1ではありません");
}

for 文

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 文

配列などの要素に対応したループです。

for( ループ変数 in 対象変数 ) ステートメント

対象変数の内容を列挙するための値をループ変数に代入しながらステートメントを実行します。 対象変数は配列化されたオブジェクト、Arrayオブジェクト、およびイテレータをサポートする一部のオブジェクトを指定することができます。

ステートメント内でbreak文を実行すると即座にループを終了します。 また、ステートメント内でcontinue文を実行すると後続のステートメントを実行せずに次のループに入ります。


var a = new Array("aa", "bb", "cc");
var n
for (n in a) {
    print(a[n], "\n");
}

while 文

条件ループです。

while( 条件式 ) ステートメント

条件式が真の間、ステートメント実行します。ステートメントの実行前に条件式が評価されます。 ステートメント内でbreak文を実行すると即座にループを終了します。 また、ステートメント内でcontinue文を実行すると後続のステートメントを実行せずに次のループに入ります。


var a = 0;
while (a < 10) {
    print("aは", a, "\n");
    a++;
}

do … while 文

条件ループです。

do ステートメント while( 条件式 )

条件式が真の間、ステートメント実行します。 ステートメントの実行後に条件式が評価されます。 ステートメント内でbreak文を実行すると即座にループを終了します。 また、ステートメント内でcontinue文を実行すると後続のステートメントを実行せずに次のループに入ります。


var a = 0;
do {
    print("aは", a, "\n");
    a++;
} while (a < 10);

switch case 文

条件により分岐します

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です