Skip to content

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:

  • A Sub cannot specify a return return value. Return is roughly equivalent to the Exit Sub idiom.
  • In a Function, Return must specify its return value. Return expression is roughly equivalent to the Function = expression : Exit Function idiom.

Examples ​

start GeSHi

vb
'' 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

end GeSHi

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 ​

  • Sub
  • Function
  • Gosub
  • Option Gosub
  • Option Nogosub
  • Labels
  • Return (from Gosub)

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft