mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-31 12:20:16 +00:00
73 lines
No EOL
1.7 KiB
Text
73 lines
No EOL
1.7 KiB
Text
'''RETURN''' is used in [[GOSUB]] procedures to return to the original call code line or a specified line label.
|
|
|
|
|
|
{{PageSyntax}}
|
|
:: '''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|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 [[ERROR Codes|"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.
|
|
{{CodeStart}}
|
|
{{Cl|FOR...NEXT|FOR}} a = 1 {{Cl|TO}} 10
|
|
{{Cl|PRINT}} a
|
|
{{Cl|IF...THEN|IF}} a = 5 {{Cl|THEN}} {{Cl|GOSUB}} five
|
|
{{Cl|NEXT}}
|
|
{{Cl|END}} 'END or SYSTEM stop the program before the execution of a sub procedure
|
|
|
|
five:
|
|
{{Cl|PRINT}} "Aha! Five!"
|
|
{{Cl|RETURN}} '' ''
|
|
{{CodeEnd}}
|
|
{{OutputStart}}
|
|
1
|
|
2
|
|
3
|
|
4
|
|
5
|
|
Aha! Five!
|
|
6
|
|
7
|
|
8
|
|
9
|
|
10
|
|
{{OutputEnd}}
|
|
|
|
|
|
''Example 2:'' Returns to a specific line label.
|
|
{{CodeStart}}
|
|
{{Cl|GOSUB}} hey
|
|
{{Cl|PRINT}} "it didn't go here."
|
|
hoho:
|
|
{{Cl|PRINT}} "it went here."
|
|
{{Cl|END}}
|
|
|
|
hey:
|
|
{{Cl|RETURN}} hoho
|
|
{{CodeEnd}}
|
|
{{small|Code by Cyperium}}
|
|
{{OutputStart}}
|
|
it went here.
|
|
{{OutputEnd}}
|
|
|
|
|
|
|
|
|
|
''See also:''
|
|
* [[GOSUB]], [[GOTO]]
|
|
* [[RESUME]]
|
|
|
|
|
|
{{PageNavigation}} |