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