« あれこれ考えてみる(原点を見直してみる...4) | トップページ | roboBASICにもドラッグ&ドロップできますよ »

IF文の中のIF文

roboBASIC v2.5の頃は、下記のような、IF文の中にIF文を書くことができなかったんですが、いつの間にやら、v2.72では、それが可能になったんですね

入れ子あり

IF A=0 THEN
 IF B=1 THEN
         MUSIC "C"
   
ENDIF
ENDIF

使えないもんだと思い込んでいるので、全然気が付きませんでしたが、ヒロビさんのブログ記事を見て知りました

RZ1BasicもroboBASICと同じ仕様にしているので、同じように、IF文の中にIF文を書けるようにはしてません最初からIF文の入れ子ができるようになっていれば良かったのに、今からじゃ、入れ子ありで動くように直すのすっげ〜〜大変だぁRZ1Basic v0.5.0で対応しました

と言ってるだけじゃ、あれなので、簡単ですが、IF文の入れ子ありを入れ子なしに書き換える場合の例を書いておきます。

の入れ子なし

IF A=0 AND B=1 THEN
   
MUSIC "C"
ENDIF

入れ子あり

IF A=0 THEN
    IF B=1 THEN
        MUSIC "C"
    ELSEIF C=2 THEN
        MUSIC "D" 
    ENDIF
    MUSIC "E"
ENDIF

の入れ子なしの1

IF A=0 AND B=1 THEN
    MUSIC "C"
ELSEIF A=0 AND C=2 THEN
    MUSIC "D"
ENDIF
IF A=0 THEN
    MUSIC "E"
ENDIF

の入れ子なしの2

HOGE:
    IF
B=1 THEN
       
MUSIC "C"
    ELSEIF C=2 THEN
        MUSIC "D" 
    ENDIF
    RETURN

IF
A=0 THEN
    GOSUB HOGE
    MUSIC "E"
ENDIF

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

|

« あれこれ考えてみる(原点を見直してみる...4) | トップページ | roboBASICにもドラッグ&ドロップできますよ »

RZ1Basic」カテゴリの記事

ROBOBASIC講座」カテゴリの記事

週刊 ロボザック」カテゴリの記事

コメント

こんばんは、ヒロビです。

あら~、やはり今から入れ子ありに動くように手直しするのは大変ですか。

そもそもコマンド説明書v2.10とは動作が異なる訳ですから、二階に上がって一生懸命に作業をしていたら、いつの間にか梯子が無くなっていたようなものですね。こりゃキツイや。心中お察しします。

でも書き換えの例は大変参考になります。こういったプログラミング関連の解説は、まさにmiconoさん自家薬籠中のものですね。

ところで、ダウンロードファイル名なんですが、Windows版ですと、現在はRZ1BasicWJ.exeのようになっていますが、例えばこれをRZ1BasicWJ049.exeというように版数が分かるようになりますでしょうか?

サーバーの制限などがあれば無理かも知れませんが、ご検討頂ければ幸いです。

それでは。

投稿: ヒロビ | 2008年10月31日 (金) 20時59分

ヒロビさん、コメントありがとうございます。
IF文の中のIF文、コンパイル、シミュレーションには対応できました。あと、みなさん、ほとんど使わないと思いますが、今、IF文の中のIF文のデコンパイル部分に着手中ですが、難しい。。。デコンパイルは次回対応ということで、リリースするかもしれません。

バージョン番号ですが、日本語版/英語版/マック版/ウインドウズ版の4種類作っているので、バージョン番号を付けると、アップロードするたびに、ホームページのリンクを書き換えなくてはいけないので、面倒でやってないのです

ファイル名だけの問題なら、お手数ですが、ダウンロードされた際に、ファイル名を書き換えて頂くことで対応して頂けますでしょうか?いちおうインストーラーは立ち上げたときの最初の画面でバージョン番号はわかります。

投稿: micono | 2008年10月31日 (金) 21時55分

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: IF文の中のIF文:

« あれこれ考えてみる(原点を見直してみる...4) | トップページ | roboBASICにもドラッグ&ドロップできますよ »