TOP命令一覧ジャンプ・分岐命令>\GOSUB.IF
 \GO  \GO.IF  \GOSUB  \GOSUB.IF  \RETURN  \GO.TITLE
■条件サブルーチンジャンプ命令 \GOSUB.IF

[記述]
\GOSUB.IF( 条件式, ラベル1, ラベル2 )
[パラメータ]
(1)条件式  :この条件式を満たしているか否かで、ラベル1へサブルーチンジャンプするか
             ラベル2へサブルーチンジャンプするかが変わります。
(2)ラベル1:条件式を満たした時にサブルーチンジャンプするラベル名を指定します。
             記述を省略した場合はサブルーチンジャンプしません。
(3)ラベル2:条件式を満たさない時にサブルーチンジャンプするラベル名を指定します。
             記述を省略した場合はサブルーチンジャンプしません。
[パラメータ省略時]
(1)条件式  :(省略不可)
(2)ラベル1:""
(3)ラベル2:""
[説明]

条件式を満たしているときはラベル1へサブルーチンジャンプし、
満たしていない時はラベル2へサブルーチンジャンプします。
ラベルの記述を省略した場合はサブルーチンジャンプしません。

サブルーチンジャンプは 16 回までネストが可能です。


条件式の書き方としては、以下のようになります。

@L(1)==5              ← 変数@L(1)が 5 である
@L(1)!=5              ← 変数@L(1)が 5 でない
@L(1)> 5              ← 変数@L(1)が 5 より大きい
@L(1)>=5              ← 変数@L(1)が 5 以上
@L(1)< 5              ← 変数@L(1)が 5 より小さい
@L(1)<=5              ← 変数@L(1)が 5 以下
@L(1)>=5 && @L(2)<3   ← 変数@L(1)が 5 以上で、かつ、変数@L(2)が 3 より小さい
@L(1)>=5 || @L(2)<3   ← 変数@L(1)が 5 以上か、または変数@L(2)が 3 より小さい

以下は文字列同士の比較評価の場合です。

$L(1)=="りんご"]      ← 変数$L(1)の内容が「りんご」である
$L(1)!="みかん"]      ← 変数$L(1)の内容が「みかん」でない
$L(1)==$L(2)+$L(3)]   ← 変数$L(1)の内容が$L(2)と$L(3)を連結したものと同じである

[記述例]

例1
\GOSUB.IF(@L(1)==5, LABEL1)

  →変数 @L(1) が 5 のときは LABEL1 へサブルーチンジャンプし、
    5 で無かったときはどこへもサブルーチンジャンプしません。


例2
\GOSUB.IF(@L(1)==5,, LABEL2)

  →変数 @L(1) が 5 のときはどこへもサブルーチンジャンプせず、
    5 で無かったときは LABEL2 へサブルーチンジャンプします。


例3
\GOSUB.IF(@L(1)==5, LABEL1, LABEL2)

  →変数 @L(1) が 5 のときは LABEL1 へサブルーチンジャンプし、
    5 で無かったときは LABEL2 へサブルーチンジャンプします。