Return (From Gosub)

Control flow statement to return from a procedure or GoSub.

Syntax
   Return [ label ]

Description
   Return is used to return from a gosub GoSub.

   Because Return could mean return-from-gosub or return-from-procedure, 
   Option Gosub and Option Nogosub can be used to enable and disable GoSub 
   support.  When GoSub support is disabled, Return is then recognized as 
   return-from-procedure.  When GoSub support is enabled, Return is then 
   recognized as return-from-gosub.

   Return (from gosub) is used to return control back to the statement 
   immediately following a previous GoSub call. When used in combination 
   with GoSub, no return value can be specified.  If the optional label is 
   specified, execution continues at the specified label.  If no GoSub was 
   made, a runtime error is generated, and execution continues immediately 
   after Return.

   A GoSub should always have a matching Return statement.  However, if 
   Return (from gosub) is used where no GoSub was made, a run-time error is 
   generated.

Example
   '' GOSUB & RETURN example, compile with "-lang qb" or use "$lang" as below

   '$lang: "qb"

   Print "Let's Gosub!"
   GoSub MyGosub
   Print "Back from Gosub!"
   Sleep
   End

   MyGosub:
   Print "In Gosub!"
   Return

Dialect Differences
   * In the -lang fb dialect Return always means return-from-procedure.
   * In the -lang qb dialect, Return means return-from-gosub by default 
     unless changed with Option Nogosub, in which case the compiler will 
     recognize Return as return-from-procedure.
   * In the -lang fblite dialect, Return means return-from-procedure by 
     default unless changed with Option Gosub, in which case the compiler 
     will recognize Return as return-from-gosub.

Differences from QB
   * None when using the -lang qb dialect.

See also
   * Sub
   * Function
   * GoSub
   * Option Gosub
   * Option Nogosub
   * Labels
   * Return (From Procedure)

