RETURN: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 58: Line 58:
{{Cl|RETURN}} hoho
{{Cl|RETURN}} hoho
{{CodeEnd}}
{{CodeEnd}}
{{small|Code by Cyperium}}
{{Small|Code by Cyperium}}
{{OutputStart}}
{{OutputStart}}
it went here.
it went here.
Line 64: Line 64:




 
{{PageSeeAlso}}
 
''See also:''
* [[GOSUB]], [[GOTO]]
* [[GOSUB]], [[GOTO]]
* [[RESUME]]
* [[RESUME]]

Latest revision as of 22:45, 11 February 2023

RETURN is used in GOSUB procedures to return to the original call code line or a specified line label.


Syntax

RETURN [{linelabel|linenumber}]


Parameters

  • RETURN without parameters returns to the code immediately following the original GOSUB call.
  • line number or linelabel after the RETURN statement returns code execution to that label.


Usage:

  • Normally required at the end of a GOSUB procedure unless the procedure returns using a loop.
  • RETURN is not used in error handling procedures. Error procedures use RESUME line number or RESUME NEXT.
  • GOSUB procedures use line numbers or line labels designated with a colon after the number or label.
  • If RETURN is encountered without a previous GOSUB call a "RETURN without GOSUB" error is produced.
  • To avoid errors, place GOSUB procedures AFTER the main program code END or after an EXIT SUB or EXIT FUNCTION call.


Example 1: Returns after a Gosub.

FOR a = 1 TO 10
PRINT a
IF a = 5 THEN GOSUB five
NEXT
END       'END or SYSTEM stop the program before the execution of a sub procedure

five:
PRINT "Aha! Five!"
RETURN
 1
 2
 3
 4
 5
Aha! Five!
 6
 7
 8
 9
 10


Example 2: Returns to a specific line label.

GOSUB hey
PRINT "it didn't go here."
hoho:
PRINT "it went here."
END

hey:
RETURN hoho
Code by Cyperium
it went here.


See also



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage