A?B:C;
式Aを計算し、真ならばBを変えし、偽ならばCを返す。
A = 1 '入力を得てもいい'
B = (A)?"YES!":"NO!";
text( B, 10, 10, 0 );
実行結果 >> YES!
SPALMスレの820より抜粋。( 820氏thx! )
820 名前:非通知さん@アプリ起動中[sage] 投稿日:2009/11/29(日) 00:07:20 ID:Uxog1i4GO
t=tick for(i=0;i<1000;i++){ p-- if(rand%2){p++}else{p++} } msgdlg(0,tick-t)
と
t=tick for(i=0;i<1000;i++){ p-- (rand%2)?p++:p++; } msgdlg(0,tick-t)
を実行してみた。数字が小さい=速い
結果、
上は3500前後、下は3200前後
(W61Pでless1.03)
よって三項演算子のほうが良さげ。
それと、上のソースに不思議な所があると思うけど、消して実行してみると分かる
現行のSPALMだと三項演算子の方が速いみたいだ。