::mayukoの小ネタ ifとかelseとか

   
  

 投稿者 ::mayuko

条件文?ifとかelseとか

こんにちわー
今日は分岐のお話です:)
スクリプトは条件が合うとき、または合わないとき
でプログラムを実行するか、しないかを決めることが出来ます。
これを制御文とか条件文とか条件分岐とか言います。

一番簡単なのはif文でif(もしも)で
条件付実行をさせることが出来ます。
ifの条件が真ならば実行するというふうに書けます。

if文の一番簡単な形はこんなです

if(条件式)実行文;

例題とするとこんな感じw

if(ホイット==スケベ){
 llOwnerSay("エッチスケベ変態!");
}

またはこういう風にも書けます。

if(ホイット==スケベ) llOwnerSay("エッチスケベ変態!");

*実行文が一文だけならブロックを書かなくてもちゃんと動きます。
ただしネストしたりするとわけがわからなくなるので
ブロックで書いたほうがよいと思います:)
ネストの事は後述しますー

次にelse文(ちがければ)というものもあります。
これはif文の条件が偽ならば実行させることが出来ます。

if(ホイット==スケベ) llOwnerSay("エッチスケベ変態!");
else llOwnerSay("ありえなーい!");

スケベじゃなかったら、ありえなーい!としゃべりますw
こんな感じで条件を付けてifとelseでプログラムの実行を分岐することが出来ます。
まだ演算子についての説明をしていないので条件文が
ホイット==スケベとかになってますけどw

では、先ほどのネストのこと。
if文の中にif文を書いたりすることが出来ます。

if(ホイット==スケベ)
	if(ホイット==エッチ) llOwnerSay("スケベでエッチ!");
    else llOwnerSay("ホイットはスケベだけどエッチじゃなかった!");

これは最初のif文のホイット==スケベの条件が真ならば
ホイット==エッチが真なのか確認して両方とも真ならば
スケベでエッチ!と両方真だったと結果を話しています。
ということは、スケベというのは既定の路線と言うことですねw

こういう状態を外側のifの入れ子になったとか
外側のifにネストされたと言います。

しかーしちょっちわかりにくいですよネェ><
なのでこういうネストしちゃったときはブロックをちゃんと書いたほうが
わかりやすいです。
*わたしは自分でわかりやすいように
一文でもブロックで書くのがくせになってます><

if(ホイット==スケベ){
	if(ホイット==エッチ){
	 llOwnerSay("スケベでエッチ!");
	}else{
	 llOwnerSay("ホイットはスケベだけどエッチじゃなかった!");
}

またifとelseは続けていくつも書くことが出来ます。

if(ホイット==スケベ) llOwnerSay("スケベ!");
else
if(ホイット==エッチ) llOwnerSay("エッチ!");
else
if(ホイット==変態) llOwnerSay("変態!");
else llOwnerSay("ホイットは紳士だった!");

これはホイット==スケベじゃなかったらホイット==エッチを見て
ホイット==エッチじゃなかったらホイット==変態を見て
条件がひとつも当てはまらなければホイットは紳士だった!
としゃべります。

こんな風に書くことをif else ifのはしごとか
if elseの階段とか言います。

でもこれじゃちょっとわかりにくいですよねぇ
これをこういう風にelseの横にifを慣例的に持っていっていくのが
普通です。

if(ホイット==スケベ) llOwnerSay("スケベ!");
else if(ホイット==エッチ) llOwnerSay("エッチ!");
else if(ホイット==変態) llOwnerSay("変態!");
else llOwnerSay("ホイットは紳士だった!");

そうすると、こんな風にelse if文 とよく
いわれてるものの形になります。
else if さもなければ、もし しかし、もしもとなって
真偽の2通りだった分岐に
なんとおりもの分岐を持たせるような感じで
プログラムが書けるようになります。

このような条件分岐を繰り返したりして
複雑に見えるようなプログラムを書いていくのです:)



関連する投稿


セカンドライフ土地レンタルのSLingトップへ戻る

Leave a Reply


お知らせ
セカンドライフ
初期費用無料&友達紹介報酬! 『新しい仲間カマンキャンペーン』



Twitter
セカンドライフ
info
セカンドライフ
ホイッター



SLing周辺マップ
::マップページへ飛んでSL内にテレポート

SLing周辺マップ