Functions work the same way as procedures, but they always return a
single value to the main program through its own name:
function
Name (parameter_list)
: return_type;
|
Functions are called in the main program by using them in expressions:
If your function has no argument, be careful not to use the name of the
function on the right side of any equation inside the function. That is:
function Name :
integer;
begin
Name := 2;
Name := Name + 1
end.
|
is a no-no. Instead of returning the value 3, as might be expected, this
sets up an infinite recursive loop. Name will call Name, which will call
Name, which will call Name, etc.
The return value is set by assigning a value to the function identifier.
It is generally bad programming form to make use of VAR
parameters in functions -- functions should return only one value. You
certainly don't want the sin function to change your pi radians to 0 radians
because they're equivalent -- you just want the answer 0.