三項演算子
今まで使用を避けてきた三項演算子
a ? x : y aが真ならばxを評価しその結果を返す、aが負ならばyを評価しその結果を返す
これを使い始めてみようかなと考えました。業務で使用すると叱られそう(見難いから使うなと言われそう)なのですが、自分のFlashゲーム作成用スクリプト等に使用する分にはいいかなあと。
というのは、以下のような記述をすることが結構あるからです。
if( a == 1 ){ b = 1; } else { b = 2; }
三項演算子なら
b = ( a == 1 ) ? (1) : (2); または ( a == 1 ) ? ( b = 1 ) : ( b = 2 );
ううむ、一行で済むのはなかなかいいではないですか。また、ネット上にあるプログラムサンプルで三項演算子の記述があった時、おわっ なんだこれ!とすぐに解析できないことが多かったので、目を慣らして置く分にもいいかなと思ったわけです。次からちょっと実践してみよう。
但し、自分ルールとして 以下のような三項演算子の用い方は絶対にしないことにします。あくまで上の記述例のような場合のみに使用。見易さの為、括弧の記述も必須とします。
b = (a == 0) ? (1) : ( a == 1 ) ? (2) : ( a == 2 ) ? (3) : (0) ;
こんなのわけわかんないずらよ。