吉里吉里/tjs2解説

else if


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

var i;
i = System.inputString("数字の入力", "1から3の数字を入力して下さい", "");
if(i == 1) {
    System.inform("あなたの入力した数字は1です");
} else if(i == 2) {
    System.inform("あなたの入力した数字は2です");
} else if(i == 3) {
    System.inform("あなたの入力した数字は3です");
} else {
    System.inform("1から3の数字ではありません");
}
2回目以降のifの部分がelse ifに変わっています
バージョンの新しいKAGならばif,elsif,elseタグによっても出来ますね
KAGのタグリファレンスを参照してください

if(条件式1) {
  「条件式1が真」のときに実行される※1
} else if(条件式2) {
  「条件式1が偽」かつ「条件式2が新」のときに実行される※2
} else if(条件式3) {
  「条件式1が偽」かつ「条件式2が偽」かつ「条件式3が真」のときに実行される※3
} else {
  「条件式1が偽」かつ「条件式2が偽」かつ「条件式3が偽」のときに実行される※4
}
最初にifの部分の条件式1が真か偽か調べます
もし真ならば※1の部分を実行して残りのelse ifとelseの部分を全て無視します。残りの条件式2、3は調べられません
  偽ならば次のelse ifの条件式2についても調べます
条件式2が真ならば※2を実行して残りのelse if, elseを無視します
     偽ならば条件式3を調べます
以下、else ifは何個でも繋げていくことができるのでelse ifが無くなるまで条件式を調べていきます
結局どの条件式も真でなければelseの※4の部分が実行されます
elseは省略する事もできます。その場合にはif,else ifが全て偽だったらどこも実行されません

if文の動作
1.ifの条件が真だったら{}の中を実行(2.以下は無視される)
      偽だったら2.へ
2.else ifがあったら、その条件が真だったら{}の中を実行(3.以下は無視)
                偽だったらelse ifがなくなるまで同様に調べる
      無かったら3.へ
3.elseがあったら{}の中を実行する


今回はelse ifを使わずにifを並べても手間は大して変わりませんが、else ifを使ったほうがすっきりする場合もよくあります
また、今回はelse ifを使わなければ最後のelseの条件がおかしくなってしまいます
// elseが駄目なサンプル
var i;
i = System.inputString("数字の入力", "1から3の数字を入力して下さい", "");
if(i == 1) {
    System.inform("あなたの入力した数字は1です");
}
if(i == 2) {
    System.inform("あなたの入力した数字は2です");
}
if(i == 3) {
    System.inform("あなたの入力した数字は3です");
} else {
     // ここはiが3以外の時に実行される
     // つまりiが1,2のときにも実行されてしまう
    System.inform("1から3の数字ではありません");
}
このスクリプトを実行してテストしてみて下さい
これでは駄目です

更新履歴

取得中です。