TOP命令一覧制御系命令>RETURN[]
 GO[]  GOSUB[]  RETURN[]  LOOP[]  LOOPBREAK[]  LOOPCONTINUE[]  LOOPEND[]  WAIT[]
 IF[]  ELSE[]  IFEND[]  IFBREAK[]  IFCONTINUE[]  TASK[]  TASKINFO[]  TASKEND[]  END[]

■サブルーチンジャンプバック命令 RETURN[ ]


指定したラベルの位置にジャンプし、RETURN 命令で戻ってきます。


キーワード
# = ラベル名ジャンプ先のラベルを指定
RINT〜RINT10 = 整数値ジャンプ先に渡す整数値を指定
RFLT〜RFLT10 = 実数値ジャンプ先に渡す実数値を指定
RSTR〜RSTR10 = 文字列ジャンプ先に渡す文字列を指定
例:  RETURN[RINT=50] RETURN 命令でジャンプ元に戻る際に、パラメータを受け取ることも出来ます。 上の例では、RETURN 命令が実行されてジャンプ元に戻ってきた時点で、 システム変数 @_RINT(1) に 50 が格納されます。 ※@_PINT と @_RINT との違いに注意してください。 @_PINT は GOSUB でジャンプした時に格納される変数で、 @_RINT は RETURN でジャンプ元へ戻った時に格納される変数です。 パラメータは最大10個まで受け渡しすることが出来ます。 ※注意!! YU-RIS(β4現在)の少し特殊な仕様なのですが、 RETURN 命令がスクリプト上の記述されていると、 そこを通る通らないに関わらず、その時点でローカル変数は解放され、 宣言されていない状態と同じになります。 たとえば、以下の場合、コンパイルエラーとなります。 #TEST INT[@A=1] IF[@A==5] RETURN[] //←ここで、ローカル変数@Aは非宣言状態となる IFEND[] @A+=1 //←結果的にここでコンパイルエラーとなる RETURN[] これを回避する場合、下のように、RETURN 命令1個だけで済むように 記述してください。 #TEST INT[@A=1] IF[@A==5] GO[#=TEST2] IFEND[] @A+=1 #TEST2 RETURN[] 上のようにラベルを作りたくない場合、こういう書き方もあります。 #TEST IF[1] INT[@A=1] IF[@A==5] IFBREAK[LV=2] IFEND[] @A+=1 IFEND[] RETURN[] 1つのルーチンに対し、RETURN 1個で済むのならば 他のどんな書き方でも問題ないと思います。