GOSUB
GOSUB is a command in many versions of the BASIC computer programming language. A GOSUB statement jumps to a line elsewhere in the program. That line and the following lines up to a RETURN are used as a simple kind of a subroutine without (sometimes with) parameters or local variables.
The GOSUB command may be used to emulate subroutines in a BASIC dialect that does not support subroutines in its syntax. GOSUB is convenient for performing the same function several times in a BASIC program without duplicating the code.[1]
Contents |
[edit] RETURN
A RETURN command resumes program flow from the point at which GOSUB was invoked.
Using GOSUB too many times, as in a loop or recursively, without corresponding RETURN statements, would typically cause a stack overflow. On the other hand, when the BASIC interpreter encounters a RETURN statement without a GOSUB it will emit a RETURN WITHOUT GOSUB error.
[edit] Computed GOSUB
A computed GOSUB statement, ON...GOSUB, exists in some BASIC dialects. The syntax of the statement is ON x GOSUB line1, line2, ... Computed GOSUB branches to one of several destinations based on the value of x. RETURN commands return program flow to the statement following ON..GOSUB.
[edit] Support
Not all BASIC implementations support GOSUB or ON..GOSUB. For example, in FreeBASIC GOSUB is considered as deprecated in favor of SUB/FUNCTION, and is disabled by default.[2] In Visual Basic, GOSUB and ON..GOSUB were removed when VB.NET was released.
[edit] See also
[edit] References
- ^ "GOSUB...RETURN Statement Details.". Microsoft. 1988. http://www.qbasicnews.com/qboho/qckadvr.gosubr.shtml. Retrieved 2008-07-04.
- ^ "GOSUB". 2008-05-08. http://www.freebasic.net/wiki/wikka.php?wakka=KeyPgGosub. Retrieved 2008-07-04. ""Gosub support is disabled by default in the -lang fblite unless the Option Gosub statement is used.""
| This programming language-related article is a stub. You can help Wikipedia by expanding it. |