三項演算子
三項演算子 ? を使うことで、if else 文のような条件分岐を簡潔に記述できます。
color c; background( 245 ); colorMode( HSB, 100 ); noStroke(); size( 600, 400 ); for( int i=0; i<10; i++ ){ c = ( i % 2 == 0 ) ? color(0,70,100,100) : color(60,40,100,60); fill( c ); ellipse( i*60, 200, 90, 200 ); }
8行目に三項演算子が使われています。表記形式としては
( 条件式 ) ? 条件が真の場合の値 : 条件が偽の場合の値
のようになっています。条件式で使われている % は割り算の余りを求めるための記号で、i を 2 で割った余りが 0 に等しいか、という条件をこの式は表現しています。i が偶数の時にこれは真となり、奇数の時に偽となります。したがって、for 文の中で i が偶数であるとき c には color(0,70,100,100) が代入され、奇数の時は color(60,40,100,60) が代入されます。結果として、色が交互に変化するような絵が描かれます。
実行例
同じ内容を if 文を使って書くと以下のようになります。
color c; background( 245 ); colorMode( HSB, 100 ); noStroke(); size( 600, 400 ); for( int i=0; i<10; i++ ){ if( i % 2 == 0 ){ c = color(0,70,100,100); } else { c = color(60,40,100,60); } fill( c ); ellipse( i*60, 200, 90, 200 ); }
実行結果は上と同じです。三項演算子を使うと、条件分岐が1行で、簡潔に記述できることがわかると思います。
コメント