FreeBasic Return Keyword
last modified June 16, 2025
The FreeBasic Return
keyword is used to exit a function or
subroutine and optionally return a value. It plays a crucial role in
controlling program flow and passing data between procedures.
Basic Definition
In FreeBasic, Return
is a statement that immediately exits
the current function or subroutine. In functions, it can return a value
to the caller. In subroutines, it simply exits without returning a value.
The Return
statement can appear anywhere in a procedure. When
executed, it transfers control back to the calling code. Multiple return
points are allowed but should be used judiciously for code clarity.
Simple Function Return
This example shows a basic function using the Return statement.
Function AddNumbers(a As Integer, b As Integer) As Integer Dim result As Integer = a + b Return result End Function Dim sum As Integer = AddNumbers(5, 7) Print "The sum is: "; sum
The AddNumbers
function takes two integers, adds them, and
returns the result. The Return
statement passes the value
back to the caller. This is the most common use of Return in functions.
Early Return from Function
Return can be used to exit a function before reaching its end.
Function IsPositive(n As Integer) As Boolean If n > 0 Then Return True End If Return False End Function Print "Is 10 positive? "; IsPositive(10) Print "Is -5 positive? "; IsPositive(-5)
This function checks if a number is positive. It uses an early return when the condition is met. The second return handles the false case. This pattern is common in validation functions.
Return from Subroutine
Subroutines can use Return to exit early, though they don't return values.
Sub PrintIfPositive(n As Integer) If n <= 0 Then Print "Number is not positive" Return End If Print "The positive number is: "; n End Sub PrintIfPositive(8) PrintIfPositive(-3)
This subroutine prints a number only if it's positive. The Return statement exits early for non-positive numbers. Subroutines use Return for control flow without returning values.
Returning Multiple Values
FreeBasic allows returning multiple values using user-defined types.
Type Point x As Integer y As Integer End Type Function CreatePoint(x As Integer, y As Integer) As Point Dim p As Point p.x = x p.y = y Return p End Function Dim origin As Point = CreatePoint(0, 0) Print "Point coordinates: "; origin.x; ", "; origin.y
This example demonstrates returning a compound type. The function creates and returns a Point structure. Return can handle complex types just like simple values.
Return in Recursive Functions
Return is essential for recursive functions to unwind the call stack.
Function Factorial(n As Integer) As Integer If n <= 1 Then Return 1 End If Return n * Factorial(n - 1) End Function Print "5! = "; Factorial(5)
This recursive factorial function uses Return for both the base case and recursive case. Each return passes a value back up the call stack. Recursion demonstrates Return's role in nested function calls.
Return with Reference Parameters
Functions can modify reference parameters before returning.
Function ProcessString(ByRef s As String) As Boolean If Len(s) = 0 Then Return False End If s = UCase(s) Return True End Function Dim text As String = "hello" If ProcessString(text) Then Print "Processed string: "; text Else Print "Empty string provided" End If
This function modifies a string by reference and returns a status. The Return statement provides feedback about the operation's success. This pattern combines output parameters with return values.
Return in Main Function
The main program can use Return to specify an exit code.
Function Main() As Integer Print "Program starting..." ' Program logic here Print "Program ending normally" Return 0 End Function
In FreeBasic, the main function can return an integer exit code. Return 0 typically indicates success. Non-zero values often represent error codes. This is useful for scripting and batch processing.
Best Practices
- Clarity: Use Return statements that are easy to follow.
- Consistency: Maintain consistent return patterns.
- Documentation: Document return values in comments.
- Error Handling: Use return codes for error conditions.
- Single Exit: Consider single exit points for complex functions.
This tutorial covered the FreeBasic Return
keyword with practical
examples showing its various uses in functions and subroutines.
Author
List all FreeBasic Tutorials.