if文(質問掲示板)
投稿: 退会したユーザー
投稿:2009/12/28 07:51:28(最新:2009/12/28 21:16:28)
選択肢を表示させるスクリプトの中でif文を書いた場合、if文にendは書かないといけないのですか?
ツイート
コメントする
コメントするには、ログインする必要があります。
コメント一覧
shirosaboten(投稿日:2009/12/28 11:38,
履歴)
dycoonさん>code抜けてたみたいです><;お騒がせしました。ありがとうございます。
shirosaboten(投稿日:2009/12/28 10:42,
履歴)
運営さん>整形済みテキストはコメントでは書けないんでしょうか?
下のコメントの抜けてしまった例です。整形してないので見にくいですが、ご了承ください。
case getVariable("変数1")
when 0
if getFlag("フラグ1")
speak("フラグ1が立っています")
else
speak("フラグ1が立っていません")
end
when 1
speak("変数1が『1』なのでフラグ判定がされません")
end
下のコメントの抜けてしまった例です。整形してないので見にくいですが、ご了承ください。
case getVariable("変数1")
when 0
if getFlag("フラグ1")
speak("フラグ1が立っています")
else
speak("フラグ1が立っていません")
end
when 1
speak("変数1が『1』なのでフラグ判定がされません")
end
shirosaboten(投稿日:2009/12/28 10:36,
履歴)
ifはendで閉じないと動作しません。
『選択肢を表示させるスクリプトの中で』というのが良くわからないですが、
おそらくcase文中にif文を挿入することが出来るのか、と言う質問内容だと思ってお答えしますと、問題なく出来ます。例を挙げます。
[ case getVariable("変数1") when 0 if getFlag("フラグ1") speak("フラグ1を取得しています") else speak("フラグ1を取得していません") end when 1 speak("変数1は1です") end ]
非常に簡略化するとこういう構造です。(これ自体をコピペしてもうまく動作しません)
ifに対応するend,caseに対応するend,人間が見たらどれかわからなくなるかもしれませんが、機械は区別してくれるので大丈夫です。
見当違いだったらすみません。
『選択肢を表示させるスクリプトの中で』というのが良くわからないですが、
おそらくcase文中にif文を挿入することが出来るのか、と言う質問内容だと思ってお答えしますと、問題なく出来ます。例を挙げます。
[ case getVariable("変数1") when 0 if getFlag("フラグ1") speak("フラグ1を取得しています") else speak("フラグ1を取得していません") end when 1 speak("変数1は1です") end ]
非常に簡略化するとこういう構造です。(これ自体をコピペしてもうまく動作しません)
ifに対応するend,caseに対応するend,人間が見たらどれかわからなくなるかもしれませんが、機械は区別してくれるので大丈夫です。
見当違いだったらすみません。
shirosabotenさんが答えていますが、
一応一般的な場合について説明を書いてみたいと思います。
if, case, while, defなどはendまでで一つの文です。
else, elsif, whenなどは文の中の区切りです。
if, case, while, defなどの文を入れ子構造で使う場合は
それぞれに対応するendが必要です。
たとえば次のような形です。
これらのコードは何をするというものでもありませんが、
文法的な構造を見る上で参考にしていただければと思います。
よろしくお願いします。