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.