■条件分岐命令 IF[ ]〜ELSE[ ]〜IFEND[ ]
指定した条件の真偽により、分岐します。
式を検証し、それが正しい場合(真の場合)には、
IF命令の次の位置からELSE命令が来るまでの間の命令を実行し、
正しくない場合(偽の場合)には、ELSE命令の位置までジャンプし、
その次の位置からIFEND命令が来るまでの間の命令を実行します。
IF[ 式 ]
・
・ (条件が真のとき、この中の命令が実行される)
・
ELSE[ ]
・
・ (条件が偽のときにはこの中の命令が実行される)
・
IFEND[ ]
条件が真の時の式だけで良い場合、ELSE の記述を省略できます。
IF[ 式 ]
・
・ (条件が真のとき、この中の命令が実行される)
・
IFEND[ ]
また、次のような書き方もできます。
IF[ 式1 ]
・
・ (式1の条件が真のとき、この中の命令が実行される)
・
ELSE[ 式2 ]
・
・ (式1の条件が偽で、式2の条件が真のとき、この中の命令が実行される)
・
ELSE[ ]
・
・ (上記の全ての式が偽のときには、この中の命令が実行される)
・
IFEND[ ]
条件式の書き方としては、以下のようになります。
@a == @b |
@aは@bと等しい |
@a != @b |
@aは@bと等しくない |
@a > @b |
@aは@bより大きい |
@a >= @b |
@aは@b以上 |
@a < @b |
@aは@bより小さい |
@a <= @b |
@aは@b以下 |
(式1) && (式2) |
(式1) かつ (式2) |
(式1) || (式2) |
(式1) または (式2) |
例
IF[@A == 5] ← @Aが5と等しいなら(@Aが5なら)真
IF[@A != 5] ← @Aが5と等しくないなら(@Aが5じゃないなら)真
IF[@A > 5] ← @Aが5より大きいなら真
IF[@A >= 5] ← @Aが5以上なら真
IF[@A < 5] ← @Aが5より小さいなら真
IF[@A <= 5] ← @Aが5以下なら真
IF[@A>=5 && @B<3] ← @Aが5以上で、かつ@Bが3より小さければ真
IF[@A>=5 || @B<3] ← @Aが5以上か、または@Bが3より小さければ真
例2
文字列同士の比較評価をおこなうことも出来ます。
IF[$A == "りんご"] ← $Aの内容が「りんご」なら真
IF[$A != "みかん"] ← $Aの内容が「みかん」ではないなら真
IF[$A == $B + $C] ← $Aの内容が$Bと$Cを連結したものと同じなら真
IF文の中にさらにIF文を書くことが出来ます(IFのネスト)。
IF文は最大64回までネストすることが出来ます。
IF ブロックの中で、IFBREAK 命令を実行すると、その時点で IF ブロックを抜け、
次の IFEND までジャンプします。
IF[ 式 ]
・
・
IFBREAK[ ] (ここで、IFEND まで飛ぶ)
・
・
IFEND[ ]
IF ブロックの中で、IFCONTINUE 命令を実行すると、直前の IF 命令まで戻り、
IF 命令からやり直します。
IF[ 式 ]
・
・
IFCONTINUE[ ] (ここで、IF まで戻る)
・
・
IFEND[ ]
また、LV キーワードを使って、IFBREAK や IFCONTINUE で戻る際のネストレベルを
設定することもできます。
IF[ 式 ]
・
・
IF[ 式 ]
・
・
IFBREAK[LV=2] (ここで、いきなり※1の位置まで飛ぶ)
・
・
IFEND[ ]
・
・
IFEND[ ] // ※1
IFBREAK 命令で、通常はレベルが1段階戻るところを、LV=2 とすることで、
2段階ネストレベルが戻ります。
|