RETURN (from procedure)
- Source: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgReturn
- Last revised: 2020-10-27
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
Subcannot specify a return return value.Returnis roughly equivalent to theExit Subidiom. - In a
Function,Returnmust specify its return value.Return expressionis roughly equivalent to theFunction = expression : Exit Functionidiom.
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.denominatorend GeSHi
Dialect Differences
- In the -lang fb dialect
Returnalways means return-from-procedure. - In the -lang qb dialect,
Returnmeans return-from-gosub by default unless changed withOption Nogosub, in which case the compiler will recognizeReturnas return-from-procedure. - In the -lang fblite dialect,
Returnmeans return-from-procedure by default unless changed withOption Gosub, in which case the compiler will recognizeReturnas return-from-gosub.
Differences from QB
- None when using the -lang qb dialect.
See also
SubFunctionGosubOption GosubOption NogosubLabelsReturn (from Gosub)
Back to DocToc