The RETURN statement passes control back to the caller of a PROCEDURE, FUNCTION, PROGRAM, or module initialization or finalization section. A RETURN statement is equivalent to a GOTO to a label placed just before the END of the body, and in a PROGRAM, has the effect of stopping the program Syntax: RETURN [ return-value ] Inside a FUNCTION, return-value specifies an ending value for the FUNCTION. If no return-value is provided, the last value assigned to the function identifier is used as the function result. The return-value type and function type must be the same. Inside a PROGRAM, the return-value specifies an ending value for the PROGRAM. If you do not provide a return-value, VSI Pascal uses the value 1 on OpenVMS systems. Inside a PROCEDURE, module initialization section, or module finalization section, VSI Pascal generates an error.
1 – Example
FUNCTION FindFirst(StartingPoint: INTEGER) : INTEGER;
VAR i: INTEGER;
BEGIN
FOR i := StartingPoint TO MaximumNumber DO
BEGIN
IF Data[i] = Suitable THEN
BEGIN
AttributesOfDesiredData = Attributes[i];
Subscript := i;
RETURN i;
END;
END;
END;
The example shows the usage of RETURN ststement. In the
example, a function searches through the array called "Data" for
an element that matches "Suitable". When it finds one, it
assigns values to two global variables and executes a RETURN.
Omitting the RETURN statement would make the function continue
processing; it would assign values for the last suitable element
instead of the first.