吉里吉里/tjs2解説
else if
最終更新:
tjs2
-
view
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のタグリファレンスを参照してください
バージョンの新しい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が全て偽だったらどこも実行されません
もし真ならば※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 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の数字ではありません");
}
このスクリプトを実行してテストしてみて下さい
これでは駄目です
これでは駄目です