Function Definition Statement
FUNCTION function_name, p1, p2, ..., pn
A function may be defined as a program unit containing one or more statements and which returns a value. Once a function has been defined, references to the function cause the program unit to be executed. All functions return a function value which is given as a parameter in the RETURN statement used to exit the function.
Briefly the format of a function definition is, where name can contain up to 31 characters:
FUNCTION name, parameter1,..., parametern
Statement1
Statement2
...
...
RETURN, expression
END
For example, to define a function called AVERAGE that returns the average value of an array:
FUNCTION AVERAGE, ARR
RETURN, TOTAL(ARR)/N_ELEMENTS(ARR)
END
Once the function AVERAGE has been defined, it is executed by entering the function name followed by its arguments enclosed in parentheses. Assuming the variable X contains an array, the statement:
PRINT, AVERAGE(X^2)
squares the array X, passes this result to the AVERAGE function, and prints the result.
Functions can take positional and keyword parameters. For more information on parameters and parameter passing, see
"Positional Parameters and Keyword Parameters" and
"More On Parameters".
For more information on writing functions, see
Chapter 10: Writing Procedures and Functions.
Automatic Compilation of Functions and Procedures
PV-WAVE will automatically compile and execute a user-written function or procedure when it is first referenced if both of the following conditions are met:
The name of the file containing the function is the same as the function name suffixed by
.pro. The file name should be in lowercase letters.
note | User-written functions must be defined before they are referenced, unless they meet the above conditions for automatic compilation. This restriction is necessary in order to distinguish between function calls and subscripted variable references. For more information on compiling functions and procedures, see Executive Commands in the PV‑WAVE Reference. |