Skip to content

Return From Procedure

Paul Squires edited this page Oct 14, 2026 · 2 revisions

Home › Control Flow Statements › Return (From Procedure)

Return (From Procedure)

Control flow statement to return from a procedure or GoSub.

Syntax

Return expression

Description

Return is used to return from a procedure.

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 procedure) is used inside a procedure to exit the procedure possibly with a return value:

Warning: Whatever the output branch used, the return value must be always defined, otherwise an unexpected behavior may occur.

Remarks

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

See also

Examples

'' Return from function

Type rational              '' simple rational number type

    numerator As Integer

    denominator As Integer

End Type

'' multiplies two rational types

Function rational_multiply( r1 As rational, r2 As rational ) As rational

    Dim r As rational

    '' multiply the divisors ...

    r.numerator   = r1.numerator   * r2.numerator

    r.denominator = r1.denominator * r2.denominator

    '' ... and return the result

    Return r

End Function

Dim As rational r1 = ( 6, 105 )   '' define some rationals r1 and r2

Dim As rational r2 = ( 70, 4 )

Dim As rational r3

r3 = rational_multiply( r1, r2 )  '' multiply and store the result in r3

'' display the expression

Print r1.numerator & "/" & r1.denominator; " * ";

Print r2.numerator & "/" & r2.denominator; " = ";

Print r3.numerator & "/" & r3.denominator

Category: Control Flow Statements
Kind: keyword


Reproduced from the FreeBASIC Wiki Manual under the GNU Free Documentation License 1.3 — with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. Copyright © the FreeBASIC project and wiki contributors. See License.

Clone this wiki locally