Return
Returnステートメントは、GoSubステートメントと組み合わせて使います。GoSubはプログラム制御をサブルーチンに移します。サブルーチンが完了すると、Returnで、サブルーチンを始めたGoSub命令の次の行にプログラム実行が継続するようにします。
書式
Return
解説
ReturnステートメントはGoSubステートメントと組み合わせて使います。Returnステートメントの主要な目的は、サブルーチンに制御を移したGoSub命令の後に続く命令に、プログラム制御を戻すことです。
GoSub命令は、プログラム制御をユーザー指定のステートメント行、またはラベルに枝分かれさせます。プログラムは、その移行先の行とそれに続く行を、Return命令まで実行していきます。Return命令は、サブルーチンへの移行を指示したGoSubの次の行に、プログラム制御を戻します。(つまりGoSub命令はサブルーチンの実行を開始し、ReturnでそのGoSubの次のステートメントに戻ります。)
起こりやすいエラー
GoSubがないのにReturnを使用した場合
Return命令は、サブルーチンからGoSubを発行した元のプログラムに戻るために使われます。GoSubがないのにReturn命令が使われるとエラー2383が発生します。システムはどこに戻ってよいのか分からないので、単独のReturn命令は意味がありません。
参照
OnErr, GoSub...Return, GoTo
Return使用例
下記は、GoSub命令で、checkioというラベルに枝分かれして、最初の16個のユーザー入力をチェックする簡単な例です。その後、そのサブルーチンからメインプログラムに戻ります。
Function main
Integer var1, var2
GoSub checkio
On 1
On 2
Exit Function
checkio: 'サブルーチンの開始位置
var1 = In(0)
var2 = In(1)
If var1 <> 0 Or var2 <> 0 Then
Print "Message to Operator here"
EndIf
finished:
Return 'サブルーチンの終了位置
Fend